在 Business.System.Math 中,有两个四舍五入的函数,按照Delphi帮助文件中的说明如下:
SimpleRoundTo函数是:
Rounds a floating-point value to a specified digit or power of ten using asymmetric arithmetic rounding.
SimpleRoundTo是我们通常所理解的四舍五入
Expression Value
SimpleRoundTo(1234567, 3) 1234000
SimpleRoundTo(1.234, -2) 1.23
SimpleRoundTo(1.235, -2) 1.24
SimpleRoundTo(-1.235, -2) -1.23
RoundTo函数是:
Rounds a floating-point value to a specified digit or power of ten using 'Banker's rounding'
RoundTo 使用的是银行家算法,一种舍入误差更小的算法,四舍留入,对于舍入位后为5的情况,则舍入位为偶数,则舍,为奇数,则入
Expression Value
RoundTo(1234567, 3) 1234000
RoundTo(1.234, -2) 1.23
RoundTo(1.235, -2) 1.24
RoundTo(1.245, -2) 1.24
以前我们都想当然的认为RoundTo就是四舍五入了,其实犯了一个非常大的错误,特此说明! |