delphi – RoundTo ( 87.285,2 ) => 87.28的結果為何

http://hant.ask.helplib.com/delphi/post_997653

我期望結果是 87.29. 我也嘗試了 SimpleRoundTo,但產生了同樣的結果。

在幫助中還有一個"奇數"示例: ms-help://embarcadero.rs2010/vcl/Math.RoundTo.html复制代码


RoundTo(1.235, -2) => 1.24
RoundTo(1.245, -2) => 1.24//???

是否有人知道我需要獲得 87.29的結果? 我的意思是:如果最後一個數字> = 5向上舍入,如果 <5舍入。 就像學校中教授的:

我使用Delphi2010和 SetRoundMode(rmNearest) 。 我還嘗試了 rmTruncate 。 值 87.285存儲在 double 變數中。

還奇怪:复制代码


SimpleRoundTo(87.285, -2) => 87.29

但是复制代码


x := 87.285;//double
SimpleRoundTo(x, -2) => 87.28