当前位置: 代码迷 >> Office >> 请教这个是BUG吗
  详细解决方案

请教这个是BUG吗

热度:4278   发布时间:2013-02-26 00:00:00.0
请问这个是BUG吗?
a
27112.87      
2342.92
24769.95   (a1+a2)
13377.6
8720.1
2672.25
-3.63798E-12   (a3-a4-a5-a6)


应该是0怎么会是个小数?


------解决方案--------------------------------------------------------
LZ的格式乱了
我猜楼主的最终结果应该是0,实际是非零,这多半是浮点计算或进制转换造成的误差
除非你改用整型等精确类型 否则你不能消除这种误差 只能设法避免误差带来的影响
------解决方案--------------------------------------------------------
我也不大清楚了,等高手来说说吧.
------解决方案--------------------------------------------------------
这个不是Bug。

首先:这个是浮点数计算的问题,如果您不设置为数值,那么计算是按照浮点数进行计算的,由于转换成的浮点数和您的整型数值有差异,导致了误差的产生。

其次:楼主没有设置精度,设置精度后可以解决该问题(使用数值计算在该问题中也是正确的)。
  相关解决方案