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

Megjegyzés

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.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.