機械翻訳について

@ROUND

expressionnumDigitsに丸めます。

構文

@ROUND (expression, numDigits [, compatibility])

パラメータ

expression

単一メンバー指定、変数名またはその他の数値式。

numDigits

単一メンバー指定、変数名、または整数値を指定するその他の数値式。 numDigitsが0または正の数値の場合、expressionnumDigitsで指定された小数点以下の桁数に丸められます。 numDigitsが負の値の場合、expressionnumDigitsの絶対値の累乗に最も近い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 

関連項目