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.