MATH_NUMERIC 型の使用
ここでは、MATH_NUMERIC 型および指数の処理方法、最大桁数、および最大 10 進桁数の詳細について説明します。 次の項目についても説明します。
Exponents (指数)
無効な値
演算の精度
Currency
MATH_NUMERIC 型は数値文字列型です。 この型を使用するには、次の形式のパラメーター値を入力します。
<OptionalSign><IntegerAndFractionalPart><OptionalExponentPart>
場所
<OptionalSign>
には、+
または-
を指定できます。+
は既定値です。<IntegerAndFractionalPart>
は最大 32 桁で、小数点記号は含みません。 この小数点の記号は JD Edwards OneWorld インストールのロケールに固有であり、通常はピリオド (.) またはコンマ (,) となります。 値はすべて整数、すべて小数、または整数と小数の組み合わせのいずれでもかまいませんが、32 桁を超えることはできません。<OptionalExponentPart>
は以下と同等です'e' <OptionalSign><ExponentDigits>
場所
<OptionalSign>
または を指定+
できます。+
は既定値です。<ExponentDigits>
は最大 2 桁です。 指定できる値は、-63 ~ 63 です (0 は除く)。
有効な値
有効な MATH_NUMERIC 値の例は次のとおりです。
123.045
4089 (3 桁ごとのコンマがないことに注意してください)
-9084
-230.75
0.010503
1.023e-10 は、0.0000000001023 と同じです
0.097e5 または 0.097e+5 は、9700 と同じです
1.0e-32 (0.00000000000000000000000000000001 に等しい)
(この値が有効なのは、整数 '0' が無視され、小数点以下の桁数が 32 であるためです。)
無効な値
無効な値は値の種類に依存します。 小さすぎる小数部はゼロと解釈されます (すべての有効桁が失われます)。 有効桁が多すぎる整数は、予期しない結果になります。 こ場合、必ずしもエラー状態が発生するとは限りません。
指数が大きすぎるか小さすぎる場合は、無効な値としてが返されます。
無効な MATH_NUMERIC 値の例は次のとおりです。
1034.00000000000000000000000000001023 - 有効桁が多すぎます
1.023e-64 - 指数部が小さすぎます
0.00317e64 - 指数部が大きすぎます
符合と小数点記号以外に数字以外の文字が含まれていると、無効な値になります。
Exponents (指数)
値を入力しやすくするために、JD Edwards OneWorld MATH_NUMERIC により、指数が指定されます。 ただし、ほとんどの値は指数なしで返ります (32 有効桁がすべて示されます)。
演算の精度
演算によって精度が失われると、丸めが行われます。 次に例を示します。
1.9e-31 / 10.0 = 0.00000000000000000000000000000002
1.9e-31 / 100.0 = 0.000000000000000000000000000000000000000000
それ以外では、非常に大きい正の値どうしを乗算した場合に、予期しない結果が発生します。
1.01e32 * 2.053e32 は信頼性の高い結果を生成せず、エラーも発生しません。
実際に使用する場合には、通常、これらの範囲を超えることはありません。
Currency
JD Edwards OneWorld のビジネス関数が通貨値を予期している場合、常に 4 文字の通貨コード用の別のパラメーターがあります。 JD Edwards OneWorld システム用に構成された既定値とは異なる通貨を使用しない限り、このコードを渡す必要はありません。