System.Math.SimpleRoundTo
Delphi
function SimpleRoundTo(const AValue: Single; const ADigit: TRoundToRange = -2): Single;
function SimpleRoundTo(const AValue: Double; const ADigit: TRoundToRange = -2): Double;
function SimpleRoundTo(const AValue: Extended; const ADigit: TRoundToRange = -2): Extended;
C++
extern DELPHI_PACKAGE float __fastcall SimpleRoundTo(const float AValue, const TRoundToRange ADigit = (TRoundToRange)(0xfffffffe))/* overload */;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | System.Math.pas System.Math.hpp |
System.Math | System.Math |
説明
対称的な算術型丸めを用いて、浮動小数点値を指定の位(10 の累乗)に丸めます。
SimpleRoundTo を呼び出すと、AValue
を指定の位(10 の累乗)に丸めることができます。
ADigit
は、AValue
を丸める位を示します。 この値は -37 以上 37 以下の任意の範囲です。
SimpleRoundTo は、指定された位(10 の累乗)を持つ最も近い値を返します。 AValue
が、指定された位(10 の累乗)を持つ 2 つの最も近い値(上下)のちょうど中間にある場合、この関数の戻り値は以下のようになります。
AValue
が正の場合は、正の無限大に近い方の値。AValue
が負で FPU 丸めモードが rmUp に設定されていない
場合は、負の無限大に近い方の値。
メモ: この関数の結果は、現在の FPU 丸めモードによって異なります。 FPU 丸めモードは、SetRoundMode 関数を使って変更できます。
以下の例は、SimpleRoundTo の結果を示します。
式 |
Value |
---|---|
|
1235000 |
|
1.23 |
|
1.24 |
|
-1.23 または -1.24(どちらになるかは現在の FPU 丸めモードで決まります) |
「Banker モード」で丸めるには、System.Math.RoundTo を使用します。