Numerikus formátum
Ha egy szöveget bármilyen numerikus adattípusként kell elemezni, vagy bármilyen numerikus adattípust szöveggé kell formázni, meg kell adni a formátummintát.
A beolvasás és a formázás helyfüggő.
A CloudConnectben a Java decimális formátumot használjuk.
Táblázat 28.8. Numerikus formátum minta szintaxis
Szimbólum | Helyszín | Lokalizált? | Megjelölés |
---|---|---|---|
# | Szám | Igen | Szám, a nulla hiányzik |
0 | Szám | Igen | Számjegy |
. | Szám | Igen | Tizedesválasztó vagy monetáris tizedesválasztó |
– | Szám | Igen | Minuszjel |
, | Number | Yes | Grouping separator |
E | Number | Yes | Separálja a mantisszát és az exponenciát tudományos jelölésben. Nem kell elő- vagy utótagban idézni. |
; | Alminták határa | Igen | Elkülöníti a pozitív és negatív almintákat |
% | Prefix vagy suffix | Igen | Szorozza 100-zal és százalékos formában jeleníti meg |
‰ (\u2030) | Prefixum vagy utótag | Igen | Szorozzuk 1000-zel és jelenítsük meg ezrelékes értékként |
¤ (\u00A4) | Prefixum vagy utótag | Nem | Pénzjel, pénznem szimbólummal helyettesítve. Ha megduplázódik, nemzetközi valuta szimbólummal helyettesítve. Ha jelen van a mintában, akkor a tizedesvessző helyett a monetáris tizedesvesszőt használja. |
‘ | Prefix vagy suffix | No | Egy prefix vagy suffix speciális karakterek idézésére szolgál, például a “‘#’#” a 123-at “#123”-ra formázza. Magának az egyszerű idézőjelnek a létrehozásához használjon kettőt egymás után: “# o”clock”. |
-
Az előtag és az utótag egyaránt Unicode karakterek \u0000-tól \uFFFD-ig, beleértve a margókat, de kizárva a speciális karaktereket.
A formátumminta almintákból, előtagokból, utótagokból stb. áll össze az alábbi táblázatban látható módon:
A jelek magyarázata a következő:
Táblázat 28.10. Használt jelölés
Megjelölés | Megnevezés |
---|---|
X* | 0 vagy több példánya X |
(X | Y) | vagy X vagy Y |
X..Y | minden karakter X-től Y-ig, beleértve |
S – T | karakterek S-ben, kivéve a T |
{X} | X opcionális |
Ne feledjük azt sem, hogy a formázás helyfüggő. Lásd a következő táblázatot, amelyben a különböző helyi nyelvek esetén eltérő eredmények szerepelnek:
Táblázat 28.11. Helyszínérzékeny formázás
Minta | Lokál | Eredmény |
---|---|---|
###,###.### | en.US | 123,456.789 |
###,###.### | de.DE | 123.456,789 |
###,###.### | fr.FR | 123 456,789 |
A számok kezelésének mélyebb megismeréséhez tekintse meg a hivatalos Java dokumentációt.
Tudományos jelölés
A számokat tudományos jelölésben egy mantissza és egy tízes hatvány szorzataként fejezzük ki.
Például 1234
kifejezhető 1.234 x 103
-ként.
A mantissza gyakran a 1.0 <= x < 10.0
tartományban van, de nem feltétlenül kell lennie.
A numerikus adattípusok csak egy mintán keresztül utasíthatók a tudományos jelölés formázására és elemzésére. Egy mintában az exponens karakter, amelyet közvetlenül egy vagy több számjegy karakter követ, a tudományos jelölést jelzi.
Példa: “0.#####E0” az 1234-es számot “1.234E3”-ként formázza.
Példák a numerikus mintára és az eredményekre a következők:
Legend:
1): Az egész számjegyek maximális száma 3, az egész számjegyek minimális száma 1, a maximum nagyobb, mint a minimum, így az exponens minden esetben a három (az egész számjegyek maximális száma) szorzata lesz.
2):
3): Az egész számjegyek maximális száma 2, az egész számjegyek minimális száma 1, a maximum nagyobb, mint a minimum, így az exponens minden esetben kettő (az egész számjegyek maximális száma) szorzata lesz.
3): Az egész számjegyek maximális száma 2, az egész számjegyek minimális száma 2, a maximum egyenlő a minimummal, a minimális egész számjegyek száma az exponens beállításával lesz elérhető.
4): Az egész számjegyek maximális száma 3, a tört számjegyek maximális száma 2, a szignifikáns számjegyek száma az egész számjegyek maximális számának és a tört számjegyek maximális számának összege, így a szignifikáns számjegyek száma az ábrán látható (5 számjegy).
Bináris formátumok
Az alábbi táblázat az elérhető formátumok listáját tartalmazza:
28.13. táblázat. Elérhető bináris formátumok
Type | Name | Format | Length |
---|---|---|---|
integer | BIG_ENDIAN |
two’s-complement, big-endian | változó |
LITTLE_ENDIAN |
kettő-komplementer, little-endian | ||
PACKED_DECIMAL |
packeddecimal | ||
floating-point | DOUBLE_BIG_ENDIAN |
IEEE 754, big-endian | 8 bájt |
DOUBLE_LITTLE_ENDIAN |
IEEE 754, little-endian | ||
FLOAT_BIG_ENDIAN |
IEEE 754, big-endian | 4 bájt | |
FLOAT_LITTLE_ENDIAN |
IEEE 754, little-endian |
A lebegőpontos formátumokatnumeric
és decimal
adattípusokkal lehet használni.Az egész szám formátumokat a integer
és long
adattípusokkal lehet használni. A szabály alól kivételt képez adecimal
adattípus, amely szintén támogatja az integerformátumokat (BIG_ENDIAN
,LITTLE_ENDIAN
ésPACKED_DECIMAL
). Ha egész szám formátumot használnak a decimal
adattípussal, az implicit tizedespontot a Scale attribútumnak megfelelően állítják be. Például, ha a tárolt érték 123456789 és a Skála értéke 3, a mező értéke123456,789 lesz.
Bináris formátum használatához hozzon létre egy metaadatmezőt az egyik támogatott adattípussal, és állítsa be a Formátum attribútumot a formátum nevére, amelynek előtagja "BINARY:"
, pl. a PACKED_DECIMAL
formátum használatához hozzon létre egy decimális mezőt, és állítsa a formátumát "BINARY:PACKED_DECIMAL"
-re, kiválasztva azt az elérhető formátumok listájából.
A fix hosszúságú formátumok (double és float) esetében aSize attribútumot is ennek megfelelően kell beállítani.
A bináris adatformátumokat jelenleg csak a ComplexDataReader és az elavult FixLenDataReader tudja kezelni.