Verwenden des Typs MATH_NUMERIC
In diesem Thema wird der MATH_NUMERIC-Typ beschrieben, und es wird erläutert, wie Exponenten verarbeitet werden und wie viele Ziffern und Dezimalstellen maximal zulässig sind. Es umfasst außerdem eine Erläuterung zu Folgendem:
Exponenten
Ungültige Werte
Genauigkeit bei Operationen
Währung
Der MATH_NUMERIC-Typ ist ein numerischer Zeichenfolgentyp. Zur Verwendung dieses Typs geben Sie Parameterwerte in folgendem Format ein:
<OptionalSign><IntegerAndFractionalPart><OptionalExponentPart>
Hierbei gilt:
<OptionalSign>
kann+
oder-
sein.+
ist die Standardoption.<IntegerAndFractionalPart>
umfasst maximal 32 signifikante Ziffern, das Dezimalsymbol nicht eingerechnet. Das Dezimalsymbol hängt vom Gebietsschema für die JD Edwards OneWorld-Installation ab und ist normalerweise ein Punkt (.) oder ein Komma (,). Es können nur ganze Zahlen, nur Dezimalstellen oder teils ganze Zahlen und teils Dezimalstellen verwendet werden, es dürfen jedoch nicht mehr als 32 Ziffern vorhanden sein.<OptionalExponentPart>
entspricht:'e' <OptionalSign><ExponentDigits>
Hierbei gilt:
<OptionalSign>
kann oder sein+
.+
ist die Standardoption.<ExponentDigits>
sind maximal zwei Ziffern. Für Sie sind Werte zwischen 63 und -63 gestattet, ausgenommen die Null.
Gültige Werte
Beispiele für gültige MATH_NUMERIC-Werte:
123.045
4089 (kein Dezimaltrennzeichen für Tausender)
-9084
-230.75
0.010503
1.023e-10, was 0.0000000001023 entspricht
0.097e5 oder 0.097e+5, was 9700 entspricht
1.0e-32, das 0.00000000000000000000000000000001 entspricht
(Dieser Wert ist gültig, da in diesem Fall die ganzzahlige '0' ignoriert wird, wodurch sich 32 signifikante Dezimalstellen ergeben.)
Ungültige Werte
Welche Werte ungültig sind, hängt davon ab, um welche Art von Wert es sich handelt. Ein Dezimalbruch, der zu klein ist, wird als null interpretiert (alle signifikanten Ziffern gehen verloren). Eine ganze Zahl mit zu vielen signifikanten Ziffern führt zu einem unerwarteten Ergebnis. JD Edwards OneWorld löst in diesem Fall nicht immer eine Fehlerbedingung aus.
Ein zu großer oder zu kleiner Exponent wird als ungültiger Wert zurückgegeben.
Beispiele für ungültige MATH_NUMERIC-Werte:
1034.00000000000000000000000000001023 – zu viele signifikante Ziffern
1.023e-64 – Exponent zu klein
0.00317e64 – Exponent zu groß
Nicht numerische Zeichen außer den zulässigen Vorzeichen und Dezimalsymbolen führen zu einem ungültigen Wert.
Exponenten
Exponenten werden von JD Edwards OneWorld MATH_NUMERIC zur vereinfachten Eingabe von Werten bereitgestellt. Jedoch werden die meisten Werte ohne Exponenten zurückgegeben (alle 32 signifikanten Ziffern sichtbar).
Genauigkeit bei Operationen
Kommt es bei einer Operation zu einem Genauigkeitsverlust, wird gerundet. Beispiel:
1.9e-31 / 10.0 = 0.000000000000000000000000000000000000002
1.9e-31 / 100.0 = 0.00000000000000000000000000000000
In anderen Fällen kann es zu unvorhergesehenen Ergebnissen kommen, wenn ein sehr großer positiver Wert mit einem anderen multipliziert wird.
1.01e32 * 2.053e32 liefert keine zuverlässigen Ergebnisse und löst keinen Fehler aus.
In den meisten Geschäftsszenarien werden diese Bereiche nicht überschritten.
Währung
Wenn eine JD Edwards OneWorld-Geschäftsfunktion einen Währungswert erwartet, verfügt die Geschäftsfunktion immer über einen separaten Parameter für einen vierstelligen Währungscode. Es ist nicht erforderlich, diesen Code zu übergeben, sofern Sie keine andere als die für das JD Edwards OneWorld-System konfigurierte Standardwährung verwenden.