Numeriek formaat
Wanneer een tekst wordt geparsed als een numeriek gegevenstype of een numeriek gegevenstype moet worden geformatteerd naar een tekst, moet het opmaakpatroon worden opgegeven.
Parsing en formattering is locale gevoelig.
In CloudConnect wordt het decimale Java-formaat gebruikt.
Tabel 28.8. Numeriek formaat Patroon Syntax
Symbool | Locatie | Gelokaliseerd? | Betekenis |
---|---|---|---|
# | Nummer | Ja | Cijfer, nul wordt weergegeven als afwezig |
0 | Nummer | Ja | Digit |
. | Getal | Ja | Decimaalscheidingsteken of monetair decimaalscheidingsteken |
– | Getal | Ja | Minusteken |
, | Getal | Ja | Groepscheidingsteken |
E | Getal | Ja | Scheidt mantisse en exponent in wetenschappelijke notatie. Hoeft niet te worden geciteerd in voor- of achtervoegsel. |
; | Subpatroongrens | Ja | Scheidt positieve en negatieve subpatronen |
% | Prefix of suffix | Ja | Multipliceer met 100 en toon als percentage |
‰ (\u2030) | Voorvoegsel of achtervoegsel | Ja | Vermenigvuldigen met 1000 en weergeven als promille-waarde |
¤ (\u00A4) | Voorvoegsel of achtervoegsel | Nee | Munteenheidsteken, vervangen door valutasymbool. Indien verdubbeld, vervangen door internationaal valutasymbool. Indien aanwezig in een patroon, wordt het monetaire decimale scheidingsteken gebruikt in plaats van het decimale scheidingsteken. |
‘ | Voorvoegsel of achtervoegsel | Nee | Gebruikt om speciale tekens in een voorvoegsel of achtervoegsel aan te halen, bijvoorbeeld, “‘#’#” formatteert 123 in “#123”. Om zelf een enkel aanhalingsteken te maken, gebruikt u er twee op een rij: “# o”clock”. |
-
Zowel het voorvoegsel als het achtervoegsel zijn Unicode-tekens van \u0000 tot \uFFFD, inclusief de marges, maar exclusief speciale tekens.
Het formaatpatroon bestaat uit subpatronen, prefixen, suffixen, enz. op de wijze die in de volgende tabel wordt aangegeven:
Uitleg van deze symbolen volgt:
Tabel 28.10. Gebruikte notatie
Notation | Description |
---|---|
X* | 0 of meer gevallen van X |
(X | Y) | ofwel X of Y |
X..Y | elk teken van X tot en met Y, inclusief |
S – T | teken in S, behalve die in T |
{X} | X is optioneel |
Bedenk ook dat opmaak locale senistive is. Zie de volgende tabel waarin de resultaten voor verschillende locales verschillend zijn:
Tabel 28.11. Locale-gevoelige opmaak
Patroon | Locale | Resultaat |
---|---|---|
###,###.### | en.US | 123,456.789 |
##,###.### | de.DE | 123.456,789 |
##,###.### | fr.FR | 123 456,789 |
Raadpleeg de officiële Java-documentatie voor meer informatie over het omgaan met getallen.
Wetenschappelijke notatie
Tallen in wetenschappelijke notatie worden uitgedrukt als het product van een mantisse en een macht van tien.
Zo kan 1234
bijvoorbeeld worden uitgedrukt als 1.234 x 103
.
De mantisse ligt vaak in het bereik 1.0 <= x < 10.0
, maar dat hoeft niet.
Numerieke datatypes kunnen alleen via een patroon worden geïnstrueerd om wetenschappelijke notatie te formatteren en te parsen. In een patroon geeft het exponentteken onmiddellijk gevolgd door een of meer cijfertekens de wetenschappelijke notatie aan.
Voorbeeld: “0.###E0” formatteert het getal 1234 als “1.234E3”.
Voorbeelden van numerieke patronen en resultaten volgen:
Legend:
1): Maximum aantal gehele getallen is 3, minimum aantal gehele getallen is 1, maximum is groter dan minimum, dus exponent zal een vermenigvuldiging zijn van drie (maximum aantal gehele getallen) in elk van de gevallen.
2): Maximum aantal gehele getallen is 2, minimum aantal gehele getallen is 1, maximum is groter dan minimum, dus exponent zal een vermenigvuldiging zijn van twee (maximum aantal gehele getallen) in elk van de gevallen.
3): Maximum aantal gehele getallen is 2, minimum aantal gehele getallen is 2, maximum is gelijk aan minimum, minimum aantal gehele getallen zal worden bereikt door aanpassing van de exponent.
4): Maximum aantal gehele getallen is 3, maximum aantal breukgetallen is 2, aantal significante getallen is som van maximum aantal gehele getallen en maximum aantal breukgetallen, dus, het aantal significante getallen is zoals weergegeven (5 cijfers).
Binaire formaten
De onderstaande tabel bevat een lijst van beschikbare formaten:
Tabel 28.13. Available Binary Formats
Type | Name | Format | Length |
---|---|---|---|
integer | BIG_ENDIAN |
twee’s-complement, big-endian | variabele |
LITTLE_ENDIAN |
twee’s-complement, little-endian | ||
PACKED_DECIMAL |
packeddecimal | ||
floating-point | DOUBLE_BIG_ENDIAN |
IEEE 754, big-endian | 8 bytes |
DOUBLE_LITTLE_ENDIAN |
IEEE 754, little-endian | ||
FLOAT_BIG_ENDIAN |
IEEE 754, big-endian | 4 bytes | |
FLOAT_LITTLE_ENDIAN |
IEEE 754, little-endian |
De floating-point formaten kunnen worden gebruikt metnumeric
en decimal
datatypen.De integer-formaten kunnen worden gebruikt met de datatypes integer
en long
. De uitzondering op de regel is het datatypedecimal
, dat ook integer-formaten ondersteunt (BIG_ENDIAN
,LITTLE_ENDIAN
enPACKED_DECIMAL
). Wanneer een integer formaat wordt gebruikt met het decimal
datatype, wordt impliciet een decimale punt gezet volgens het Scale attribuut. Bijvoorbeeld, als de opgeslagen waarde 123456789 is en Schaal is ingesteld op 3, dan zal de waarde van het veld123456.789.
Om een binair formaat te gebruiken, maakt u een metadataveld aan met een van de ondersteunde datatypes en stelt u het Formaat attribuut in op de naam van het formaat voorafgegaan door "BINARY:"
, bijv. om het PACKED_DECIMAL
-formaat te gebruiken, maakt u een binair veld aan en stelt u het Formaat in op"BINARY:PACKED_DECIMAL"
door het te kiezen uit de lijst van beschikbare formaten.
Voor de formaten met een vaste lengte (dubbel en float) moet ook het kenmerkSize dienovereenkomstig worden ingesteld.
Momenteel kunnen binaire gegevensformaten alleen worden verwerkt door de ComplexDataReader en de verouderde FixLenDataReader.