Numerisk format
Når en tekst analyseres som en numerisk datatype, eller når en numerisk datatype skal formateres til en tekst, skal der angives et formatmønster.
Parseringen og formateringen er lokalafhængig.
I CloudConnect anvendes Java-decimalformatet.
Tabel 28.8. Mønster for numerisk format Syntaks
Symbol | Lokalisering | Lokaliseret? | Betydning | |
---|---|---|---|---|
# | Nummer | Ja | Ciffer, nul vises som fraværende | |
0 | Nummer | Ja | Tal | Ciffer |
. | Tal | Ja | Decimaladskillelse eller monetær decimaladskillelse | |
– | Tal | Ja | Minustegn | |
, | Tal | Ja | Grupperingsseparator | |
E | Tal | Tal | Ja | Sejner mantisse og eksponent i videnskabelig notation. Behøver ikke at blive citeret i præfiks eller suffiks. |
; | Undermønstergrænse | Ja | Grænser positive og negative undermønstre | |
% | Præfiks eller suffiks | Ja | Multipliceres med 100 og vises som procentdel | |
‰ (\u2030) | Prefix eller suffix | Ja | Multipliceres med 1000 og vises som promilleværdi | |
¤ (\u00A4) | Prefix eller suffix | Nej | Valutategn, erstattes af valutasymbol. Hvis fordoblet, erstattes med internationalt valutasymbol. Hvis det findes i et mønster, anvendes det monetære decimaltræk i stedet for decimaltræk. | |
‘ | Prefix eller suffix | Nej | Bruges til at anføre specialtegn i et præfiks eller suffix, f.eks. “‘#’#’#” formaterer 123 til “#123”. Hvis du vil oprette et enkelt citationstegn i sig selv, skal du bruge to i en række: “# o”clock”. |
-
Både præfiks og suffiks er Unicode-tegn fra \u0000 til \uFFFD, inklusive margenerne, men eksklusive specialtegn.
Formatmønsteret består af undermønstre, præfikser, suffikser osv. på den måde, der er vist i følgende tabel:
Forklaring af disse symboler følger:
Tabel 28.10. Anvendt notation
Notation | Beskrivelse |
---|---|
X* | 0 eller flere forekomster af X |
(X | Y) | enten X eller Y |
X..Y | alle tegn fra X og op til og med Y, inklusive |
S – T | tegn i S, undtagen dem i T |
{X} | X er valgfrit |
Husk også, at formateringen er lokalfølsom. Se følgende tabel, hvor resultaterne er forskellige for forskellige lokaliteter:
Tabel 28.11. Lokalefølsom formatering
Mønster | Lokalskala | Resultat |
---|---|---|
####,#####.##### | en.US | 123,456.789 |
######,####.##### | de.DE | 123.456,789 |
####,####.##### | fr.FR | 123 456,789 |
For en dybere gennemgang af håndtering af tal, se den officielle Java-dokumentation.
videnskabelig notation
Tal i videnskabelig notation udtrykkes som produktet af en mantisse og en potens af ti.
For eksempel kan 1234
udtrykkes som 1.234 x 103
.
Mantisen er ofte i intervallet 1.0 <= x < 10.0
, men det behøver den ikke at være.
Numeriske datatyper kan kun instrueres til at formatere og analysere videnskabelig notation via et mønster. I et mønster angiver eksponenttegnet umiddelbart efterfulgt af et eller flere ciffertegn videnskabelig notation.
Eksempel: “0.#####E0” formaterer tallet 1234 som “1.234E3”.
Eksempler på numerisk mønster og resultater følger:
Legende:
1): Det maksimale antal hele tal er 3, det minimale antal hele tal er 1, det maksimale er større end det minimale, og eksponenten vil derfor være et multiplikat af tre (det maksimale antal hele tal) i hvert af tilfældene.
2):: I hvert af tilfældene er det maksimale antal hele tal 3, det minimale antal hele tal er 1, det maksimale er større end det minimale, og eksponenten vil derfor være et multiplikat af tre (det maksimale antal hele tal): Det maksimale antal hele tal er 2, det minimale antal hele tal er 1, det maksimale er større end det minimale, og eksponenten vil således være et multiplikat af to (maksimalt antal hele tal) i hvert af tilfældene.
3):
: Eksponenten er et multiplikat af to (maksimalt antal hele tal) i hvert af tilfældene: Det maksimale antal hele tal er 2, det minimale antal hele tal er 2, det maksimale er lig med det minimale, det minimale antal hele tal vil blive opnået ved at justere eksponenten.
4): Det maksimale antal hele talcifre er 3, det maksimale antal brøkcifre er 2, antallet af signifikante cifre er summen af det maksimale antal hele talcifre og det maksimale antal brøkcifre, således er antallet af signifikante cifre som vist (5 cifre).
Binære formater
Nedenstående tabel viser en liste over de tilgængelige formater:
Tabel 28.13. Tilgængelige binære formater
Type | Navn | Format | Længde |
---|---|---|---|
integer | BIG_ENDIAN |
to’s-komplement, big-endian | variabel |
LITTLE_ENDIAN |
to’s-komplement, little-endian | ||
PACKED_DECIMAL |
packeddecimal | ||
floating-point | 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 |
Den flydende kommaformater kan anvendes mednumeric
og decimal
datatyperne.Heltalsformaterne kan anvendes med integer
oglong
datatyperne. Undtagelsen fra reglen erdecimal
-datatypen, som også understøtter heltalsformater (BIG_ENDIAN
,LITTLE_ENDIAN
ogPACKED_DECIMAL
). Når der anvendes et heltalsformat med datatypen decimal
, sættes det implicitte decimalkomma i overensstemmelse med attributten Scale. Hvis den gemte værdi f.eks. er 123456789, ogSkala er indstillet til 3, vil værdien af feltet være123456.789.
Hvis du vil bruge et binært format, skal du oprette et metadatafelt med en af de understøttede datatyper og indstille attributten Format til navnet på formatet med præfikset "BINARY:"
, f.eks. for at bruge formatet PACKED_DECIMAL
skal du oprette et decimalfelt og indstille dets Format til "BINARY:PACKED_DECIMAL"
ved at vælge det fra listen over tilgængelige formater.
For formaterne med fast længde (double og float) skal også attributtenSize indstilles i overensstemmelse hermed.
På nuværende tidspunkt kan binære dataformater kun håndteres af ComplexDataReader og den forældede FixLenDataReader.