问题描述
如果在 javascript、ruby 等编程语言中,以下表达式的结果不同如下:
550*(1.0-0.04-0.15) = 445.49999999999994
550*(1.0-(0.04+0.15)) = 445.50000000000006
为什么操作顺序会以这种方式影响结果,因为在乘以结果时,加法/减法顺序似乎无关紧要……不是吗? (两者在 javascript 和 ruby 中显示相同的结果,这是我测试的唯一编程语言)
此外,当将这两个输入到 Excel
的单元格中时,将数字格式调整为显示 16 位小数,它们都显示 445.5000000000000000
,这与上述两个答案仍然不同。>
有人可以为 3 个结果案例中的这种舍入和/或与精度相关的差异提供实际的技术答案吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)