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 |
>
>
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.