System.Math.RoundTo

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

const ADigit: TRoundToEXRangeExtended): Extended;

C++

extern DELPHI_PACKAGE System::Extended __fastcall RoundTo(const System::Extended AValue, const TRoundToEXRangeExtended ADigit);

プロパティ

種類 可視性 ソース ユニット
function public
System.Math.pas
System.Math.hpp
System.Math System.Math


説明

"Banker's Rounding" と呼ばれる丸め方法を用いて、浮動小数点値を指定の位(10 の累乗)に丸めます。

RoundTo を呼び出すと、AValue を指定の位(10 の累乗)に丸めることができます。

AValue は丸めの対象となる値です。

ADigit は、AValue を丸める位を示します。-20 から 20 の範囲の任意の値をとることができます。

RoundTo は、"Banker's Rounding" と呼ばれる丸め方法を用いて、目的とする有効位を持つ 2 つの値のちょうど中間にある値を丸める方法を決定します。 この方法では、AValue が両方の値のちょうど中間にある場合は、偶数に丸めます。

以下の例は、RoundTo の使い方を示します:

RoundTo(1234567, 3)

1235000

RoundTo(1.124, -2)

1.12

RoundTo(1.125, -2)

1.12

RoundTo(1.126, -2)

1.23

注意: 2 進数は 10 進数の実数を正確に表すことができません。 Digit が負の数の場合、期待した結果が得られない可能性があります。たとえば、10 進実数 "1.245" は、Double 型浮動小数点数では "1.245000000000000106..." と表現されます。RoundTo(1.245, -2) は、必要な有効桁数を持つ 2 つの値のちょうど中間よりも、数値が大きくなるため、1.24 ではなく 1.25 を返します。


関連項目