Format numeric
Când un text este analizat ca orice tip de date numerice sau orice tip de date numerice trebuie formatat într-un text, trebuie specificat modelul de format.
Pariția și formatarea este sensibilă la locale.
În CloudConnect, se utilizează formatul zecimal Java.
Tabelul 28.8. Sintaxa formatului numeric Pattern Syntax
Simbol | Localizare | Localizat? | Semnificație |
---|---|---|---|
# | Număr | Da | Digit, zero apare ca absent |
0 | Număr | Da | Digit |
. | Număr | Da | Separator zecimal sau separator zecimal monetar |
– | Număr | Da | Semn minus |
, | Număr | Da | Separator de grupare |
E | Număr | Da | Separa mantisa și exponentul în notația științifică. Nu este necesar să fie citat în prefix sau sufix. |
; | Subpattern boundary | Yes | Separates positive and negative subpatterns |
% | Prefix sau sufix | Yes | Multiply by 100 and show as percentage |
‰ (\u2030) | Prefix sau sufix | Da | Multiplicați cu 1000 și afișați ca valoare la mie |
¤ (\u00A4) | Prefix sau sufix | Nu | Semnul monedei, înlocuit cu un simbol monetar. Dacă este dublat, înlocuit cu simbolul monedei internaționale. Dacă este prezent într-un model, separatorul zecimal monetar este utilizat în locul separatorului zecimal. |
‘ | Prefix sau sufix | Nu | Utilizat pentru a cita caracterele speciale într-un prefix sau sufix, de exemplu, „‘#’#’#” formatează 123 în „#123”. Pentru a crea un singur citat propriu-zis, utilizați două la rând: „# o”clock”. |
-
Atât prefixul, cât și sufixul sunt caractere Unicode de la \u0000 la \uFFFD, inclusiv marginile, dar excluzând caracterele speciale.
Planul de format se compune din subplanuri, prefixe, sufixe, etc. în modul prezentat în tabelul următor:
Explicarea acestor simboluri urmează:
Tabelul 28.10. Notații utilizate
Notație | Descriere |
---|---|
X* | 0 sau mai multe cazuri de X |
(X | Y) | fie X, fie Y |
X..Y | orice caracter de la X până la Y, inclusiv |
S – T | caractere din S, cu excepția celor din T |
{X} | X este opțional |
Nu uitați, de asemenea, că formatarea este sensibilă la localitate. A se vedea următorul tabel în care rezultatele sunt diferite pentru diferite locale:
Tabelul 28.11. Formatarea sensibilă la locale
Pattern | Locale | Rezultat |
---|---|---|
###,###.### | en.US | 123,456.789 |
###,###.### | de.DE | 123.456,789 |
###,###.### | fr.FR | 123 456,789 |
Pentru o privire mai aprofundată asupra manipulării numerelor, consultați documentația oficială Java.
Notație științifică
Numerele în notație științifică sunt exprimate ca produsul dintre o mantisă și o putere de zece.
De exemplu, 1234
poate fi exprimat ca 1.234 x 103
.
Mantisa este adesea în intervalul 1.0 <= x < 10.0
, dar nu este necesar să fie.
Tipurile de date numerice pot fi instruite să formateze și să analizeze notația științifică numai prin intermediul unui model. Într-un model, caracterul exponent urmat imediat de unul sau mai multe caractere de cifre indică notația științifică.
Exemplu: „0.###E0” formatează numărul 1234 ca „1.234E3”.
Exemple de model numeric și rezultate urmează:
Legendă:
1): Numărul maxim de cifre întregi este 3, numărul minim de cifre întregi este 1, maximul este mai mare decât minimul, deci exponentul va fi un înmulțit de trei (numărul maxim de cifre întregi) în fiecare dintre cazuri.
2): Numărul maxim de cifre întregi este 2, numărul minim de cifre întregi este 1, maximul este mai mare decât minimul, astfel exponentul va fi un înmulțit de doi (numărul maxim de cifre întregi) în fiecare dintre cazuri.
3): Numărul maxim de cifre întregi este 2, numărul minim de cifre întregi este 2, maximul este egal cu minimul, numărul minim de cifre întregi va fi obținut prin ajustarea exponentului.
4): Numărul maxim de cifre întregi este 3, numărul maxim de cifre fracționare este 2, numărul de cifre semnificative este suma dintre numărul maxim de cifre întregi și numărul maxim de cifre fracționare, astfel, numărul de cifre semnificative este cel indicat (5 cifre).
Formatoane binare
Tabelul de mai jos prezintă o listă a formatelor disponibile:
Tabelul 28.13. Formate binare disponibile
Tip | Nume | Format | Lungime |
---|---|---|---|
întreg | BIG_ENDIAN |
complementul lui doi, big-endian | variabilă |
LITTLE_ENDIAN |
complement de doi, little-endian | ||
PACKED_DECIMAL |
packeddecimal | ||
floating-point | DOUBLE_BIG_ENDIAN |
IEEE 754, big-endian | 8 octeți |
DOUBLE_LITTLE_ENDIAN |
IEEE 754, little-endian | ||
FLOAT_BIG_ENDIAN |
IEEE 754, big-endian | 4 octeți | |
FLOAT_LITTLE_ENDIAN |
IEEE 754, little-endian |
Formatele în virgulă mobilă pot fi utilizate cu tipurile de datenumeric
și decimal
.Formatele de numere întregi pot fi utilizate cu tipurile de date integer
șilong
. Excepția de la regulă este tipul de datedecimal
, care suportă, de asemenea, formate de numere întregi (BIG_ENDIAN
,LITTLE_ENDIAN
ș iPACKED_DECIMAL
). Atunci când se utilizează un format întreg cu tipul de date decimal
, virgula zecimală implicită este setată în conformitate cu atributul Scale. De exemplu, dacă valoarea stocată este 123456789 șiScale este setat la 3, valoarea câmpului va fi123456.789.
Pentru a utiliza un format binar, creați un câmp de metadate cu unul dintre tipurile de date acceptate și setați atributul Format la numele formatului prefixat cu "BINARY:"
, de exemplu pentru a utiliza formatul PACKED_DECIMAL
, creați un câmp adecimal și setați-i Format la"BINARY:PACKED_DECIMAL"
alegându-l din lista formatelor disponibile.
Pentru formatele de lungime fixă (double și float), atributulSize trebuie, de asemenea, setat în mod corespunzător.
În prezent, formatele de date binare pot fi gestionate numai de ComplexDataReader și FixLenDataReader depreciat.
.