Formato numérico

>

Quando um texto é analisado como qualquer tipo de dado numérico ou qualquer tipo de dado numérico deve ser formatado para um texto, o padrão de formato deve ser especificado.

A formatação é sensível ao locale.

Em CloudConnect, o formato decimal Java é usado.

Table 28.8. Sintaxe do padrão de formato numérico

Símbolo Localização Localizado? Medição
# Número Sim Dígito, zero mostra como ausente
0 Número Sim Dígito
. Número Sim Seta separador decimal ou separador decimal monetário
Número Sim Signo mínimo
, Número Sim Seta separador de agrupamento
E Número Sim Separa mantissa e expoente em notação científica. Não precisa ser citado em prefixo ou sufixo.
; Limite do sub-padrão Sim Separa sub-padrões positivos e negativos
% Prefixo ou sufixo Sim Multiplicar por 100 e mostrar como percentagem
‰ (\u2030) Prefixo ou sufixo Sim Multiplicar por 1000 e mostrar como por milha valor
¤ (\u00A4) Prefixo ou sufixo Não Sinal de moeda, substituído pelo símbolo da moeda. Se dobrado, substituído pelo símbolo da moeda internacional. Se presente num padrão, é utilizado o separador decimal monetário em vez do separador decimal.
Prefixo ou sufixo No Utilizado para citar caracteres especiais num prefixo ou sufixo, por exemplo, “‘#’#” formata 123 a “#123”. Para criar uma única citação propriamente dita, use duas seguidas: “‘o”clock”.

  • Both prefixo e sufixo são caracteres Unicode de \u0000 a \uFFFD, incluindo as margens, mas excluindo caracteres especiais.

Padrão padrão composto de sub-padrões, prefixos, sufixos, etc. da forma mostrada na tabela seguinte:

Explicação destes símbolos a seguir:

Tabela 28.10. Notação usada

Notação Descrição
>X* 0 ou mais instâncias de X
(X | Y) e ou X ou Y
X..Y qualquer caractere de X até Y, inclusive
S – T caracteres em S, exceto aqueles em T
{X} X é opcional

Lembrar também que a formatação é locale senistive. Veja a seguinte tabela na qual os resultados são diferentes para diferentes locais:

Tabela 28.11. Formatação sensível a locales:

Padrão Locale Resultado
###,####.#####7232> pt.US 123.456.789
#####,#####.#########7232> de.DE 123.456.789
####,####.###### fr.FR 123 456.789

>

Nota

>

Para uma visão mais profunda dos números de manuseio, consulte a documentação oficial Java.

Notação científica

Números em notação científica são expressos como o produto de uma mantissa e uma potência de dez.

Por exemplo, 1234 pode ser expresso como 1.234 x 103.

A mantissa está frequentemente na faixa 1.0 <= x < 10.0, mas não precisa ser.

Os tipos de dados numéricos podem ser instruídos para formatar e analisar a notação científica apenas através de um padrão. Em um padrão, o caractere exponente imediatamente seguido por um ou mais caracteres de dígitos indica notação científica.

Exemplo: “0.###E0” formata o número 1234 como “1.234E3”.

Exemplos de padrão numérico e resultados seguem:

Legend:

1): O número máximo de dígitos inteiros é 3, o número mínimo de dígitos inteiros é 1, o máximo é maior que o mínimo, assim o expoente será uma multiplicação de três (número máximo de dígitos inteiros) em cada um dos casos.

2): O número máximo de dígitos inteiros é 2, o número mínimo de dígitos inteiros é 1, o máximo é maior que o mínimo, portanto o expoente será uma multiplicação de dois (número máximo de dígitos inteiros) em cada um dos casos.

3): O número máximo de dígitos inteiros é 2, o número mínimo de dígitos inteiros é 2, o máximo é igual ao mínimo, o número mínimo de dígitos inteiros será alcançado ajustando o expoente.

4): O número máximo de dígitos inteiros é 3, o número máximo de dígitos de fração é 2, o número de dígitos significativos é a soma do número máximo de dígitos inteiros com o número máximo de dígitos de fração, portanto, o número de dígitos significativos é como mostrado (5 dígitos).

Formatos binários

A tabela abaixo apresenta uma lista de formatos disponíveis:

Tabela 28.13. Formatos binários disponíveis:

Tipo Nome Formato Comprimento
integer BIG_ENDIAN> complemento de dois, big-endian variável
LITTLE_ENDIAN complemento de dois, little-endian
PACKED_DECIMAL packeddecimal
ponto flutuante DOUBLE_BIG_ENDIAN IEEE 754, big-endian 8 bytes
DOUBLE_LITTLE_ENDIAN IEEE 754, little-endian
FLOAT_BIG_ENDIAN IEEE 754, big-endian 4 bytes
FLOAT_LITTLE_ENDIAN IEEE 754, little-endian

Os formatos de ponto flutuante podem ser usados comnumeric e decimal tipos de dados.Os formatos inteiros podem ser usados com integer e long tipos de dados. A exceção à regra é odecimal datatype, que também suporta formatos inteiros (BIG_ENDIAN,LITTLE_ENDIAN ePACKED_DECIMAL). Quando um formato inteiro é usado com o decimal datatype, os pontos decimais implícitos são definidos de acordo com o atributo Scale. Forexample, se o valor armazenado for 123456789 eScale for definido como 3, o valor do campo será123456.789.

Para usar um formato binário, crie um campo de metadados com um dos tipos de dados suportados e defina o atributo Format para o nome do formato prefixado com "BINARY:",e.g. para usar o formato PACKED_DECIMAL, crie um campo adecimal e defina seu formato para"BINARY:PACKED_DECIMAL" escolhendo-o da lista de formatos disponíveis.

Para os formatos de comprimento fixo (double e float) também o atributoSize deve ser definido de acordo.

Currentemente, formatos de dados binários só podem ser tratados pelo ComplexDataReader e pelo obsoleto FixLenDataReader.

Deixe uma resposta

O seu endereço de email não será publicado.