首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

浮点数加减法结果有有关问题

2012-04-04 
浮点数加减法结果有问题vara,b,c,d:doublebegina:53b:98.1c:45.1d:a-b+cshowmessage(floattostr(

浮点数加减法结果有问题
var
    a,b,c,d:double;
begin
    a   :=53;
    b:=98.1;
    c:=45.1;
    d   :=   a-b+c;
    showmessage(floattostr(d));
end;

结果显示:7.105427357601E-15,这是什么原因造成的呢?


[解决办法]
结果没错!是你没自己精确度没设
[解决办法]
浮点数运算本就有误差,7.105427357601E-15的误差已经是很小的了,如果改为Single,误差会更大,showmessage(FormatFloat( '0.0000 ', d));就看不出来误差了,结果为0.0000
[解决办法]
同上,用formatfloat()把结果格式化.

热点排行