Formato numerico
Quando un testo viene analizzato come qualsiasi tipo di dati numerici o qualsiasi tipo di dati numerici deve essere formattato in un testo, il modello di formato deve essere specificato.
L’analisi e la formattazione sono sensibili al locale.
In CloudConnect, viene usato il formato decimale Java.
Tabella 28.8. Sintassi dello schema del formato numerico
Simbolo | Localizzazione | Localizzato? | Significato |
---|---|---|---|
# | Numero | Sì | Cifra, zero mostra come assente |
0 | Numero | Sì | Cifra |
. | Numero | Sì | Decimale o separatore decimale monetario |
– | Numero | Sì | Segno meno |
, | Numero | Sì | Separatore di raggruppamento |
E | Numero | Sì | Si separa mantissa ed esponente in notazione scientifica. Non ha bisogno di essere citato nel prefisso o nel suffisso. |
; | Confine della sotto-regola | Sì | Si separa le sotto-regole positive e negative |
% | Fisso o suffisso | Sì | Moltiplicare per 100 e mostrare come percentuale |
‰ (\u2030) | Fisso o suffisso | Sì | Moltiplicare per 1000 e mostrare come valore per mille |
¤ (\u00A4) | Fisso o suffisso | No | Segno di valuta, sostituito dal simbolo della valuta. Se raddoppiato, sostituito dal simbolo della valuta internazionale. Se presente in un modello, il separatore decimale monetario viene usato al posto del separatore decimale. |
‘ | Fisso o suffisso | No | Usato per citare caratteri speciali in un prefisso o suffisso, per esempio, “‘#’#” formatta 123 in “#123”. Per creare un’unica citazione, usane due in fila: “# o”clock”. |
-
Sia il prefisso che il suffisso sono caratteri Unicode da \u0000 a \uFFFD, inclusi i margini, ma esclusi i caratteri speciali.
Il modello di formato si compone di subpattern, prefissi, suffissi, ecc. nel modo mostrato nella seguente tabella:
Seguono le spiegazioni di questi simboli:
Tabella 28.10. Notazione usata
Notazione | Descrizione |
---|---|
X* | 0 o più istanze di X |
(X | Y) | o X o Y |
X..Y | qualsiasi carattere da X fino a Y, compreso |
S – T | caratteri in S, eccetto quelli in T |
{X} | X è opzionale |
Ricordate anche che la formattazione è senistive del locale. Vedi la seguente tabella in cui i risultati sono diversi per i diversi locali:
Tabella 28.11. Formattazione sensibile al locale
Pattern | Locale | Risultato |
---|---|---|
###,###.### | it.US | 123,456.789 |
###,###.### | de.DE | 123.456,789 |
####,####.### | fr.FR | 123 456,789 |
Per un approfondimento sulla gestione dei numeri, consultare la documentazione ufficiale Java.
Notazione scientifica
I numeri in notazione scientifica sono espressi come il prodotto di una mantissa e una potenza di dieci.
Per esempio, 1234
può essere espresso come 1.234 x 103
.
La mantissa è spesso nell’intervallo 1.0 <= x < 10.0
, ma non è necessario che lo sia.
I tipi di dati numerici possono essere istruiti a formattare e analizzare la notazione scientifica solo tramite un pattern. In un pattern, il carattere esponente immediatamente seguito da uno o più caratteri numerici indica la notazione scientifica.
Esempio: “0.###E0” formatta il numero 1234 come “1.234E3”.
Seguono esempi di pattern numerico e risultati:
Legenda:
1): Il numero massimo di cifre intere è 3, il numero minimo di cifre intere è 1, il massimo è maggiore del minimo, quindi l’esponente sarà un multiplo di tre (numero massimo di cifre intere) in ciascuno dei casi.
2): Il numero massimo di cifre intere è 2, il numero minimo di cifre intere è 1, il massimo è maggiore del minimo, quindi l’esponente sarà un moltiplicato di due (numero massimo di cifre intere) in ognuno dei casi.
3): Il numero massimo di cifre intere è 2, il numero minimo di cifre intere è 2, il massimo è uguale al minimo, il numero minimo di cifre intere sarà raggiunto regolando l’esponente.
4): Il numero massimo di cifre intere è 3, il numero massimo di cifre di frazione è 2, il numero di cifre significative è la somma del numero massimo di cifre intere e del numero massimo di cifre di frazione, quindi, il numero di cifre significative è come mostrato (5 cifre).
Formati binari
La tabella seguente presenta una lista di formati disponibili:
Tabella 28.13. Formati binari disponibili
Type | Name | Format | Length |
---|---|---|---|
integer | BIG_ENDIAN |
two’s-complement, big-endian | variabile |
LITTLE_ENDIAN |
complemento a due, little-endian | ||
PACKED_DECIMAL |
pacchetto-decimale | ||
floating-point | DOUBLE_BIG_ENDIAN |
IEEE 754, big-endian | 8 byte |
DOUBLE_LITTLE_ENDIAN |
IEEE 754, little-endian | ||
FLOAT_BIG_ENDIAN |
IEEE 754, big-endian | 4 byte | |
FLOAT_LITTLE_ENDIAN |
IEEE 754, little-endian |
I formati floating-point possono essere usati connumeric
e decimal
datatypes.I formati interi possono essere usati con i tipi di dati integer
e long
. L’eccezione alla regola è il tipo di datodecimal
, che supporta anche formati interi (BIG_ENDIAN
,LITTLE_ENDIAN
ePACKED_DECIMAL
). Quando un formato intero è usato con il tipo di dati decimal
, il punto decimale implicito è impostato secondo l’attributo Scale. Per esempio, se il valore memorizzato è 123456789 eScale è impostato su 3, il valore del campo sarà123456.789.
Per usare un formato binario, create un campo di metadati con uno dei tipi di dati supportati e impostate l’attributo Format sul nome del formato con il prefisso "BINARY:"
, ad esempio per usare il formato PACKED_DECIMAL
, creare un campo decimale e impostare il suo Format a"BINARY:PACKED_DECIMAL"
scegliendolo dalla lista dei formati disponibili.
Per i formati a lunghezza fissa (double e float) anche l’attributoSize deve essere impostato di conseguenza.
Al momento, i formati dati binari possono essere gestiti solo da ComplexDataReader e dal deprecato FixLenDataReader.