EXCEL表格中全是两位数的小数加减,结果就有N为小数位数的数据结果出来,怎么回事?

是两位数的数据加减。如7.82+5.21+6.01-5.41-6.32=7.31,然后由于我设置的单元格格式是两位小数位的,所以显示的是7.31,但其实通过增加小数位数,看到的结果就是7.309999999。真的有点不明白了,请大家帮帮我。谢谢。
首先谢谢你们的回答,我举的例子只是说明有这个情况,并不是说这几个数据。有的数据也是设置公式算过来的,但最初都是两位小数位的数据。

这是因为计算机内部使用二进制表示的,十进制数换算为二进制的时候,整数都可以正常转换,小时会产生精度问题,有些看起来很简单的小数转换为二进制会成为循环小数、或者位数很多,而精度有限会进行四舍五入,再次显示为十进制的时候就会变样。
这是所有计算机的通病,换什么语言写软件都会面临这个问题,处理方法就是对结果进行四舍五入。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-03
你输入答案的单元格中输入“=round((7.82+5.21+6.01-5.41-6.32),2)”即可。
如果你是在单元格A1,B1,C1,D1,E1分别输入的上述的5个数,在求值的单元格中输入“=round((a1+b1+c1-d1-e1),2)”,这样复制公式可以计算的更多的数据
第2个回答  2010-10-03
菜单 工具
选项
重新计算 卡片
“以显示精度为准”前面打勾本回答被网友采纳
第3个回答  2010-10-03
我的就不会啊·单元格A1,B1,C1,D1,E1分别输入你给的数字,按自动求和F1得到7.31。之后设置单元格格式-数字-数值-小数点位数,增加后不会出来7.309999999,而是7.310000000。

参考资料:尝试了下···

第4个回答  2010-10-03
前面的数不是手输的 有计算结果吧