excel2013,两个相等的数字相减不为零?

举个栗子,A1是某月的产品甲和乙销售总额(根据每天的销售额求和得到的),B1和C1分别是产品甲和乙当月的销售额,D1=B1+C1,现在做检查,用A1-B1-C1是否等于0来检查统计是否准确,格式全部调整为会计专用,保留2位小数,实际也都是2位小数,没有超过,会计格式如果结果为0,那么单元格显示的应该是“-”,但是实际却不对,通过增加小数位数,得到一个很小的数字,可以看下图片。实际做了下测试,用A1-D1,结果为“-”,那么说明A1=D1,用D1-B1-C1结果也为“-”,但是用A1-B1-C1的时候,结果显示-0.00,按F9显示结果,或者放大小数位数后会有一个很小的值,求解,这个是为什么,另外吧B1和C1里面的值凑成整数的话是对的,就是有小数就不行,百度了下,很多都说是double格式的问题
我确定所有原始数据都是手输,且不超过2位小数,格式均为会计专用,把结果调成20位小数了,结果如图

这个是正常现象,原因是计算机的浮点运算导致的,你看到的是十进制数,但是计算机内部是按二进制核算的。
解决办法,不要用减法去判断,而是改用加法核算核对,应该可以的。若你一定要用减法,还有一个办法就是全部用类似ROUND等函数保留几位小数,也可以的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-09-29
因为小数点后面那些数没显示出来,你这两个数应该本来就不相同
第2个回答  2018-09-29
必定某个数是有很多有效数字的,只是显示成了两位小数而已。
手机码字。不说太多了。直接百度搜 excel 将精度设为所显示的精度。
按操作整一遍就好了。追答

如果能解决问题,请采纳一下。

第3个回答  2018-09-29
前面的数都增加小数点位数你就知道错在哪儿了,
笑死我了说进制的那位
相似回答