Delphi で Round 関数を使用して得られた答えは、予想したものと異なる場合があります。
丸めは偶数を残すために使用されます。つまり、丸めまたは四捨五入の桁が 5 より大きいか小さい場合、丸めまたは四捨五入の桁が 5 に等しい場合は、前の桁が奇数であるか偶数であるかに応じて四捨五入によって処理されます。入力すると、常に偶数の値が返されます。
結果の例
i:= ラウンド(11.5) 12
i:= 丸め(10.5) 10
この種のラウンドは、実際には統計で一般的に使用されるバンカーのアルゴリズムに基づいており、従来の「ラウンド」よりも科学的です。
従来の「丸め」方法を使用したい場合は、次の関数を使用できます。
関数 RoundClassic(R: 実数): Int64;
始める
結果:= Trurc(R);
Frac(R) >= 0.5 の場合
結果:= 結果 + 1;
終わり;
実際、この問題は VB、Excel、および .net 関連の言語に存在します。