round()

システム関数 MathLib.round は、数値または式を、一番近い値 (例えば、千単位) に丸め、結果を戻します。

  MathLib.round(
    numericField mathLibNumber in
    [, powerOf10 mathLibInteger in
    ])
  returns (result mathLibTypeDependentResult)
  MathLib.round(numericExpression anyNumericExpression in
  returns (result mathLibTypeDependentResult)
result
数学的 (システム・ワード)』で説明されている任意の数値項目または HEX 項目。 丸め操作によって生成された値は、result の形式に変換されて、result に戻されます。
この場合、丸め操作は以下のように行われるため、サポートされる最大長は、32 ではなく 31 です。
  • 結果の数字の精度より 1 高い精度で、result の数字に 5 を加算する
  • 結果を切り捨てる

計算に 31 を超える桁数が使用され、EGL が開発時に違反を判別できないと、実行時に数値のオーバーフローが発生します。

numericField
数学的 (システム・ワード)』で説明されている任意の数値項目または HEX 項目。
numericExpression
単純な数値項目以外の数値表現。演算子を指定すると、integer の値は指定できません。

剰余演算子 (%) とともに MathLib.round を使用することはできません。

powerOf10
数値をどの値に切り上げるかを決める整数
  • その整数が正の場合、その数値は 10 の powerOf10 乗単位で丸められます。例えば、整数が 3 の場合、その数値は千単位で丸められます。
  • 整数がゼロまたは負の場合も同様になります。その場合、数値は、指定された小数点以下の桁数に丸められます。

powerOf10 を指定しないと、MathLib.roundresult の小数点以下の桁数に丸められます。

その整数は、INT 型か、長さが 9 で小数部がない BIN 型と同等と定義されます。

次の例では、balance を 1000 の位の値に丸めます。

balance = 12345.6789;
rounder = 3;
balance = MathLib.round(balance, rounder);
// balance の値は 12000.0000 です

次の例では、rounder 値を -2 にして、balance を小数点以下 2 桁に丸めます。

balance = 12345.6789;
rounder = -2;
balance = mathLib.round(balance, rounder);
// balance の値は 12345.6800 です

関連する概念
EGL 関数の構文図

関連する参照項目
EGL ライブラリー MathLib

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
(C) Copyright IBM Japan 2005.