Číselný formát
Pokud je text analyzován jako libovolný číselný datový typ nebo má být libovolný číselný datový typ formátován na text, musí být zadán formátovací vzor.
Parsování a formátování je citlivé na místní prostředí.
V CloudConnectu se používá desetinný formát Java.
Tabulka 28.8. Vzor číselného formátu Syntaxe
Symbol | Lokalizace | Lokalizovaný? | Význam |
---|---|---|---|
# | Číslo | Ano | Čísl, nula se zobrazí jako nepřítomná |
0 | Číslo | Ano | Cifra |
. | Číslo | Ano | Desetinný oddělovač nebo peněžní desetinný oddělovač |
– | Číslo | Ano | Mínusové znaménko |
, | Číslo | Ano | Skupinový oddělovač |
E | Číslo | Ano | Odděluje mantisu a exponent ve vědecké notaci. Nemusí být uvozen prefixem ani sufixem. |
; | Hranice podvzorce | Ano | Odděluje kladné a záporné podvzorce |
% | Prefix nebo sufix | Ano | Násobí 100 a zobrazuje jako procenta |
‰ (\u2030) | Prefix nebo sufix | Ano | Násobit 1000 a zobrazit jako hodnotu v promile |
¤ (\u00A4) | Prefix nebo sufix | Ne | Znak měny, nahrazeno symbolem měny. Pokud je zdvojená, nahrazena mezinárodním symbolem měny. Je-li přítomen ve vzoru, použije se místo desetinného oddělovače měnový oddělovač. |
‚ | Prefix nebo přípona | Ne | Používá se pro uvození speciálních znaků v prefixu nebo příponě, například „‚#’#“ zformátuje 123 na „#123“. Chcete-li vytvořit samotnou uvozovku, použijte dvě za sebou: „ |
-
Předponou i příponou jsou znaky Unicode od \u0000 do \uFFFD, včetně okrajů, ale bez speciálních znaků.
Formátový vzor se skládá z podvzorů, prefixů, sufixů atd. způsobem uvedeným v následující tabulce:
Vysvětlení těchto znaků následuje:
Tabulka 28.10. Použitá notace
Notace | Popis |
---|---|
X* | 0 nebo více případů X |
(X | Y) | buď X nebo Y |
X..Y | jakýkoli znak od X do Y včetně |
S – T | znaků v S, kromě těch v T |
{X} | X je nepovinný |
Zapomeňte také, že formátování je závislé na lokalizaci. Viz následující tabulka, ve které se výsledky pro různé lokality liší:
Tabulka 28.11. Formátování citlivé na místní prostředí
Vzor | Místní prostředí | Výsledek |
---|---|---|
###,###.### | en.US | 123,456.789 |
####,###.### | de.DE | 123.456,789 |
###,###.### | fr.FR | 123 456,789 |
Hlubší pohled na manipulaci s čísly najdete v oficiální dokumentaci Javy.
Vědecká notace
Čísla ve vědecké notaci se vyjadřují jako součin mantisy a mocniny deseti.
Například 1234
lze vyjádřit jako 1.234 x 103
.
Mantisa je často v rozsahu 1.0 <= x < 10.0
, ale nemusí být.
Číslicové datové typy lze instruovat k formátování a analýze vědecké notace pouze prostřednictvím vzoru. Ve vzoru znak exponentu bezprostředně následovaný jedním nebo více znaky číslic označuje vědecký zápis.
Příklad: „
Následují příklady číselného vzoru a výsledků:
Příklad:
1): Maximální počet celých číslic je 3, minimální počet celých číslic je 1, maximum je větší než minimum, exponent tedy bude v každém z případů násobkem tří (maximální počet celých číslic).
2): Maximální počet celých číslic je 2, minimální počet celých číslic je 1, maximum je větší než minimum, exponent tedy bude v každém z případů násobkem dvou (maximální počet celých číslic).
3): Maximální počet celých číslic je 2, minimální počet celých číslic je 2, maximum je rovno minimu, minimálního počtu celých číslic bude dosaženo úpravou exponentu.
4): Maximální počet celých číslic je 3, maximální počet zlomkových číslic je 2, počet významných číslic je součtem maximálního počtu celých číslic a maximálního počtu zlomkových číslic, počet významných číslic je tedy takový, jak je uvedeno (5 číslic).
Binární formáty
V následující tabulce je uveden seznam dostupných formátů:
Tabulka 28.13. Dostupné binární formáty
Typ | Název | Format | Délka |
---|---|---|---|
celé číslo | BIG_ENDIAN |
dvojkový doplněk, big-endian | proměnná |
LITTLE_ENDIAN |
dvojkový doplněk, little-endian | ||
PACKED_DECIMAL |
zabalená desítková | ||
kvadratická | DOUBLE_BIG_ENDIAN |
IEEE 754, big-endian | 8 bajtů |
DOUBLE_LITTLE_ENDIAN |
IEEE 754, little-endian | ||
FLOAT_BIG_ENDIAN |
IEEE 754, big-endian | 4 bajty | |
FLOAT_LITTLE_ENDIAN |
IEEE 754, little-endian |
Formáty s plovoucí desetinnou čárkou lze použít s datovými typynumeric
a decimal
.Celočíselné formáty lze použít s datovými typy integer
along
. Výjimkou z pravidla je datový typdecimal
, který podporuje také celočíselné formáty (BIG_ENDIAN
,LITTLE_ENDIAN
aPACKED_DECIMAL
). Pokud je s datovým typem decimal
použit celočíselný formát, je implicitní desetinná tečka nastavena podle atributu Scale. Například pokud je uložená hodnota 123456789 aScale je nastaveno na 3, hodnota pole bude123456.789.
Chcete-li použít binární formát, vytvořte pole metadat s jedním z podporovaných datových typů a nastavte atribut Formatna název formátu s předponou "BINARY:"
,např. chcete-li použít formát PACKED_DECIMAL
, vytvořte desetinné pole a nastavte jeho Format na"BINARY:PACKED_DECIMAL"
výběrem ze seznamu dostupných formátů.
Pro formáty s pevnou délkou (double a float) je třeba odpovídajícím způsobem nastavit také atributSize.
V současné době lze binární datové formáty zpracovávat pouze pomocí čtečky ComplexDataReader a zastaralé čtečky FixLenDataReader.