Format numeryczny

Gdy tekst jest przetwarzany jako dowolny numeryczny typ danych lub dowolny numeryczny typ danych powinien być sformatowany do tekstu, należy określić wzorzec formatu.

Parsowanie i formatowanie jest wrażliwe na locale.

W CloudConnect używany jest format dziesiętny Java.

Tabela 28.8. Składnia wzorca formatu numerycznego

.

Symbol Lokalizacja Localized? Meaning
# Liczba Tak Cyfra, zero pokazuje się jako nieobecne
0 Liczba Tak Digit
. Liczba Tak Decimal separator lub monetarny separator dziesiętny
Liczba Tak Znak minus
, Liczba Tak Separator grupowania
E Liczba Tak Oddziela mantysę i wykładnik w notacji naukowej. Nie musi być cytowana w przedrostku lub przyrostku.
; Granica podwzorca Tak Oddziela dodatnie i ujemne podwzorce
% Przedrostek lub przyrostek Tak Mnoży się przez 100 i pokazuje jako procent
‰ (\u2030) Przedrostek lub przyrostek Tak Pomnożyć przez 1000 i pokazać jako wartość promila
¤ (\u00A4) Przedrostek lub przyrostek Nie Znak waluty, zastąpiony symbolem waluty. Jeśli podwojony, zastąpiony symbolem waluty międzynarodowej. Jeśli występuje we wzorcu, pieniężny separator dziesiętny jest używany zamiast separatora dziesiętnego.
Przedrostek lub przyrostek Nie Używany do cytowania znaków specjalnych w przedrostku lub przyrostku, na przykład „’#’#” formatuje 123 do „#123”. Aby utworzyć sam pojedynczy cytat, użyj dwóch z rzędu: „# o”clock”.

  • Zarówno przedrostek, jak i przyrostek są znakami Unicode od \u0000 do \uFFFD, łącznie z marginesami, ale z wyłączeniem znaków specjalnych.

Wzorzec formatu składa się z podwzorców, przedrostków, przyrostków itd. w sposób przedstawiony w poniższej tabeli:

Objaśnienia tych symboli są następujące:

Tabela 28.10. Stosowana notacja

.

Notacja Opis
X* 0 lub więcej wystąpień X
(X | Y) albo X albo Y
X..Y każdy znak od X do Y, włącznie
S – T znaki w S, z wyjątkiem tych w T
{X} X jest opcjonalne

Pamiętaj też, że formatowanie jest zależne od locale. Zobacz poniższą tabelę, w której wyniki są różne dla różnych języków lokalnych:

Tabela 28.11. Locale-Sensitive Formatting

Pattern Locale Result
##,###.### en.US 123,456,789
##,###.### de.DE 123.456,789
##,###.### fr.FR 123 456,789

Uwaga

Aby uzyskać głębsze spojrzenie na obsługę liczb, zapoznaj się z oficjalną dokumentacją Javy.

Notacja naukowa

Liczby w notacji naukowej są wyrażane jako iloczyn mantysy i potęgi dziesiętnej.

Na przykład 1234 można wyrazić jako 1.234 x 103.

Mantysa jest często z zakresu 1.0 <= x < 10.0, ale nie musi być.

Numeryczne typy danych mogą być instruowane do formatowania i parsowania notacji naukowej tylko poprzez wzorzec. We wzorcu znak wykładnika, po którym bezpośrednio następuje jeden lub więcej znaków cyfr, wskazuje na notację naukową.

Przykład: „0.###E0” formatuje liczbę 1234 jako „1.234E3”.

Przykłady wzorca numerycznego i wyniki są następujące:

Legenda:

1): Maksymalna liczba cyfr liczby całkowitej to 3, minimalna liczba cyfr liczby całkowitej to 1, maksimum jest większe od minimum, zatem wykładnik będzie wielokrotnością trzech (maksymalnej liczby cyfr liczby całkowitej) w każdym z przypadków.

2): Maksymalna liczba cyfr liczby całkowitej to 2, minimalna liczba cyfr liczby całkowitej to 1, maksimum jest większe od minimum, zatem wykładnik będzie iloczynem dwóch (maksymalna liczba cyfr liczby całkowitej) w każdym z przypadków.

3): Maksymalna liczba cyfr całkowitych wynosi 2, minimalna liczba cyfr całkowitych wynosi 2, maksimum jest równe minimum, minimalna liczba cyfr całkowitych zostanie osiągnięta przez dostosowanie wykładnika.

4): Maksymalna liczba cyfr całkowitych wynosi 3, maksymalna liczba cyfr ułamka wynosi 2, liczba cyfr znaczących jest sumą maksymalnej liczby cyfr całkowitych i maksymalnej liczby cyfr ułamka, zatem liczba cyfr znaczących jest taka, jak pokazano (5 cyfr).

Formaty binarne

W poniższej tabeli przedstawiono listę dostępnych formatów:

Tabela 28.13. Available Binary Formats

Type Name Format Length
integer BIG_ENDIAN two’s-complement, big-endian zmienna
LITTLE_ENDIAN dwa dopełnienia, little-endian
PACKED_DECIMAL packeddecimal
floating-point DOUBLE_BIG_ENDIAN IEEE 754, big-endian 8 bajtów
DOUBLE_LITTLE_ENDIAN IEEE 754, little-endian
FLOAT_BIG_ENDIAN IEEE 754, big-endian 4 bajty
FLOAT_LITTLE_ENDIAN IEEE 754, little-endian

Formaty zmiennoprzecinkowe mogą być używane z typami danychnumeric i decimal.Formaty liczb całkowitych mogą być używane z typami danych integer ilong. Wyjątkiem od tej reguły jest typ danychdecimal, który również obsługuje formaty całkowite (BIG_ENDIAN,LITTLE_ENDIAN iPACKED_DECIMAL). Gdy format liczb całkowitych jest używany z typem danych decimal, niejawny punkt dziesiętny jest ustawiany zgodnie z atrybutem Scale. Na przykład, jeśli przechowywana wartość to 123456789 iScale jest ustawiona na 3, wartość pola będzie123456.789.

Aby użyć formatu binarnego, utwórz pole metadanych z jednym z obsługiwanych typów danych i ustaw atrybut Format na nazwę formatu poprzedzoną "BINARY:", np. aby użyć formatu PACKED_DECIMAL, utwórz pole dziesiętne i ustaw jego Format na"BINARY:PACKED_DECIMAL", wybierając go z listy dostępnych formatów.

Dla formatów o stałej długości (double i float) również atrybutSize musi być odpowiednio ustawiony.

Obecnie binarne formaty danych mogą być obsługiwane tylko przez ComplexDataReader i przestarzały FixLenDataReader.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.