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 Cifra, zero mostra come assente
0 Numero Cifra
. Numero Decimale o separatore decimale monetario
Numero Segno meno
, Numero Separatore di raggruppamento
E Numero Si separa mantissa ed esponente in notazione scientifica. Non ha bisogno di essere citato nel prefisso o nel suffisso.
; Confine della sotto-regola Si separa le sotto-regole positive e negative
% Fisso o suffisso Moltiplicare per 100 e mostrare come percentuale
‰ (\u2030) Fisso o suffisso 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

Note

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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.