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

Note

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.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.