2003版excel 表 计算下列公式,手工计算结果应为0,但用excel计算得到负数(小数点20位

发布时间:2021-02-25 07:48:24

2003版excel 表 计算下列公式,手工计算结果应为0,但用excel计算得到负数(小数点20位左右还有数字)公式为 8967954.54-24420527.62+15454266.15-1693.07 只是加法减法都会有误差么,而且我的位数只道小数点后2位,怎么会引起后20为才出现误差呢

网友回答

这是计算机浮点计算造成的误差,把公式改为:
=ROUND(8967954.54-24420527.62+15454266.15-1693.07,2)
把减数先相加,再一次减去,有时也能解决问题:
=8967954.54+15454266.15-(24420527.62+1693.07)
计算机运算不是像我们计算那么简单,其中有一个复杂的过程,即先把十进制数字转为二进制数字,再运算,然后再把结果转为十进制数字.受计算机精度限制,小数转为二进制数字时,只能取近似值,运算后再用某些方法对结果进行调节,使其尽可能接近精确值,但不可能做到完全精确.
以上问题属网友观点,不代表本站立场,仅供参考!