X
xiaolinj79
Unregistered / Unconfirmed
GUEST, unregistred user!
经典的四舍五入算法
function RoundEx(aValue: Double
aDigit: Integer): Double;
var
dTmp: Double;
begin
dTmp:=Power(10,aDigit);
if aValue < 0 then
Result := - trunc(Abs(aValue) * dTmp + 0.5) / dTmp
else
Result := trunc(aValue * dTmp + 0.5) / dTmp;
end;
大家不知道试验过没
20.455保留二位小数居然得出错误的结果
难道这个经典算法有问题?
function RoundEx(aValue: Double
aDigit: Integer): Double;
var
dTmp: Double;
begin
dTmp:=Power(10,aDigit);
if aValue < 0 then
Result := - trunc(Abs(aValue) * dTmp + 0.5) / dTmp
else
Result := trunc(aValue * dTmp + 0.5) / dTmp;
end;
大家不知道试验过没
20.455保留二位小数居然得出错误的结果
难道这个经典算法有问题?