@ROUND
expressionをnumDigitsに丸めます。
構文
@ROUND (expression, numDigits [, compatibility])
パラメータ
- expression
-
単一メンバー指定、変数名またはその他の数値式。
- numDigits
-
単一メンバー指定、変数名、または整数値を指定するその他の数値式。 numDigitsが0または正の数値の場合、expressionはnumDigitsで指定された小数点以下の桁数に丸められます。 numDigitsが負の値の場合、expressionはnumDigitsの絶対値の累乗に最も近い10に丸められます。 例:
@ROUND(1234, -2) = 1200
numDigitsのデフォルト値は0です。
- compatibility
-
エラーのマージンの端数処理に使用するアルゴリズムを選択するための、オプションの下位互換性設定。
使用可能なキーワード値:
-
リリース11.1.2.1まで使用されているCOMPATPREV11121-Original端数処理アルゴリズム。 数値の整数部分は、エラーの丸めマージンを生成するために使用されます。 制限: 集計値の精度は小数点以下15桁までです。
バイナリで完全に表すことができるのは、一部の小数のみです。 たとえば、値1234.725がロードされている場合、バイナリでは1234.72499999999991として表されます。 COMPATPREV11121アルゴリズムを使用してこの数値を小数第2位に丸めると、1234.72が返されますが、1234.73を使用することもできます。
-
前述の表現エラーを否定するために、リリース11.1.2.1と11.1.2.3の間で使用されているCOMPATPREV11123-Alternate端数処理アルゴリズム。 精度を高めるためにエラーの丸めマージンが変更されました。この場合、元のアルゴリズムとは異なる結果が返されることがありました。
指定しない場合、デフォルトの丸めアルゴリズムは、C言語のRound関数で使用される標準と一致するようになりました。 C Round関数は、プラットフォーム全体で広く使用されている一般的な丸めアルゴリズムです。 これは、floor関数とceiling関数の組込み構造体を使用して、numDigitsに応じて、実数を直前の最大の整数または後続の最小の最小の整数にそれぞれマップします。
-
例
次に、Sample Basicデータベースの例を示します:
SET UPDATECALC OFF;
Profit = @ROUND("Profit_%", 1);
この例では、次のレポートが作成されます:
Market Product
Profit_% Profit
Jan Feb Mar Jan Feb Mar
=== === === === === ===
Scenario 21.37 19.09 18.46 21.4 19.1 18.5
関連項目