Numerisches Format

Wenn ein Text als numerischer Datentyp geparst wird oder ein numerischer Datentyp zu einem Text formatiert werden soll, muss ein Formatmuster angegeben werden.

Das Parsen und Formatieren ist lokalabhängig.

In CloudConnect wird das Java-Dezimalformat verwendet.

Tabelle 28.8. Numerische Formatmuster Syntax

Symbol Ort Lokalisiert? Bedeutung
# Nummer Ja Ziffer, Null wird als abwesend angezeigt
0 Zahl Ja Ziffer
. Zahl Ja Dezimaltrennzeichen oder Währungsdezimaltrennzeichen
Zahl Ja Minuszeichen
, Zahl Ja Gruppentrennzeichen
E Zahl Ja Trennt Mantisse und Exponent in wissenschaftlicher Notation. Muss nicht im Präfix oder Suffix angegeben werden.
; Teilmustergrenze Ja Trennt positive und negative Teilmuster
% Präfix oder Suffix Ja Multipliziert mit 100 und zeigt als Prozentsatz
‰ (\u2030) Präfix oder Suffix Ja Multipliziere mit 1000 und zeige als Promillewert
¤ (\u00A4) Präfix oder Suffix Nein Währungszeichen, wird durch das Währungssymbol ersetzt. Falls verdoppelt, ersetzt durch internationales Währungssymbol. Wenn in einem Muster vorhanden, wird das monetäre Dezimaltrennzeichen anstelle des Dezimaltrennzeichens verwendet.
Präfix oder Suffix Nein Wird verwendet, um Sonderzeichen in einem Präfix oder Suffix in Anführungszeichen zu setzen, z. B. „‚#’#“ formatiert 123 zu „#123“. Um selbst ein einzelnes Anführungszeichen zu erzeugen, verwenden Sie zwei hintereinander: „# o“clock“.

  • Beide, Präfix und Suffix, sind Unicode-Zeichen von \u0000 bis \uFFFD, einschließlich der Ränder, aber ohne Sonderzeichen.

Das Formatmuster setzt sich aus Untermustern, Präfixen, Suffixen usw. zusammen, wie in der folgenden Tabelle dargestellt:

Es folgt eine Erläuterung dieser Symbole:

Tabelle 28.10. Verwendete Notation

Notation Beschreibung
X* 0 oder mehr Instanzen von X
(X | Y) entweder X oder Y
X..Y jedes Zeichen von X bis Y, einschließlich
S – T Zeichen in S, mit Ausnahme der Zeichen in T
{X} X ist optional

Denken Sie auch daran, dass die Formatierung lokalabhängig ist. Siehe die folgende Tabelle, in der die Ergebnisse für verschiedene Sprachumgebungen unterschiedlich sind:

Tabelle 28.11. Ortsabhängige Formatierung

Muster Lokalisierung Ergebnis
###,###.### de.US 123,456.789
###,###.### de.DE 123.456,789
###,###.### fr.FR 123 456,789

Hinweis

Für einen tieferen Einblick in den Umgang mit Zahlen, konsultieren Sie die offizielle Java Dokumentation.

Wissenschaftliche Notation

Zahlen in wissenschaftlicher Notation werden als das Produkt aus einer Mantisse und einer Zehnerpotenz ausgedrückt.

Zum Beispiel kann 1234 als 1.234 x 103 ausgedrückt werden.

Die Mantisse liegt oft im Bereich 1.0 <= x < 10.0, muss es aber nicht.

Numerische Datentypen können nur über ein Muster angewiesen werden, wissenschaftliche Notation zu formatieren und zu analysieren. In einem Muster zeigt das Exponentenzeichen unmittelbar gefolgt von einem oder mehreren Ziffernzeichen die wissenschaftliche Notation an.

Beispiel: „0.###E0“ formatiert die Zahl 1234 als „1.234E3“.

Beispiele für numerische Muster und Ergebnisse folgen:

Legende:

1): Die maximale Anzahl ganzer Ziffern ist 3, die minimale Anzahl ganzer Ziffern ist 1, das Maximum ist größer als das Minimum, daher ist der Exponent in jedem der Fälle ein Vielfaches von drei (maximale Anzahl ganzer Ziffern).

2): Die maximale Anzahl ganzer Ziffern ist 2, die minimale Anzahl ganzer Ziffern ist 1, das Maximum ist größer als das Minimum, daher ist der Exponent in jedem der Fälle ein Vielfaches von zwei (maximale Anzahl ganzer Ziffern).

3): Maximale Anzahl ganzer Ziffern ist 2, minimale Anzahl ganzer Ziffern ist 2, das Maximum ist gleich dem Minimum, die minimale Anzahl ganzer Ziffern wird durch Anpassung des Exponenten erreicht.

4): Maximale Anzahl ganzer Ziffern ist 3, maximale Anzahl gebrochener Ziffern ist 2, die Anzahl signifikanter Ziffern ist die Summe der maximalen Anzahl ganzer Ziffern und der maximalen Anzahl gebrochener Ziffern, daher ist die Anzahl signifikanter Ziffern wie gezeigt (5 Ziffern).

Binäre Formate

Die folgende Tabelle enthält eine Liste der verfügbaren Formate:

Tabelle 28.13. Verfügbare Binärformate

Typ Name Format Länge
ganzzahlig BIG_ENDIAN Zwei-Komplement, big-endian Variable
LITTLE_ENDIAN Zweierkomplement, little-endian
PACKED_DECIMAL gepackte Dezimalzahl
Fließkomma 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

Die Gleitkommaformate können mit den Datentypennumeric und decimal verwendet werden.Die Ganzzahlformate können mit den Datentypen integer und long verwendet werden. Die Ausnahme von dieser Regel ist der Datentypdecimal, der auch Ganzzahlformate (BIG_ENDIAN,LITTLE_ENDIAN undPACKED_DECIMAL) unterstützt. Wenn ein Integer-Format mit dem Datentyp decimal verwendet wird, wird der implizite Dezimalpunkt entsprechend dem Attribut Skala gesetzt. Wenn der gespeicherte Wert z. B. 123456789 ist und Skala auf 3 gesetzt ist, lautet der Wert des Feldes 123456.789.

Um ein Binärformat zu verwenden, erstellen Sie ein Metadatenfeld mit einem der unterstützten Datentypen und setzen das Attribut Format auf den Namen des Formats mit dem Präfix "BINARY:", z. B. Um das Format PACKED_DECIMAL zu verwenden, erstellen Sie ein Dezimalfeld und setzen dessen Format auf"BINARY:PACKED_DECIMAL", indem Sie es aus der Liste der verfügbaren Formate auswählen.

Für die Formate mit fester Länge (double und float) muss auch das AttributSize entsprechend gesetzt werden.

Zurzeit können binäre Datenformate nur von ComplexDataReader und dem veralteten FixLenDataReader verarbeitet werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.