蛋痛的问题
double a = -1.0 ;
double b = 0.2 ;
double d = b*5.0 ;
double c = a + b*5.0 ;
double e = a + d ;
ShowMessage(c) ;
ShowMessage(e) ;
为什么这两个输出不一样呢?
请大家帮小弟解释一下。
谢谢!!!
[解决办法]
浮点数无法精确的表示0.2,所以c d e均为不精确的值。
所以不一样很正常
[解决办法]
cb6,两个都是0,你是神马环境,神马结果
[解决办法]
正常的浮点误差
我的第一个c=5.55111512312578E-17
第二个e=0
[解决办法]
电脑计算浮点数肯定有误差的,很正常啊!