在花了几个小时试图在我的个人会计电子表格中找出一个错误后,我可以将其确定为一个公式。
而这导致了零
=((0,6-0,3-0,4)+(-0,3+0,8-0,4))
把它和零号做比较,我就错了
=((0,6-0,3-0,4)+(-0,3+0,8-0,4))=0
我到底错过了什么?
发布于 2015-07-11 01:01:44
多亏了浮点算法的奇迹,
((0.6-0.3-0.4)+(-0.3+0.8-0.4))
以双精度计算约为-5.55e-17。这在JavaScript和Google电子表格中都是如此。计算是客户端还是服务器端并不重要:重要的是所使用的数字格式。似乎Google Sheets 使用双精度。
解决方案是相同的:避免对浮点数进行相等的比较。在你的例子中,通过乘以10来改变单位会避免这个问题。
https://webapps.stackexchange.com/questions/80125
相似问题