所以我有一个Javascript脚本,它将一个小部分加到一个循环中,并且可能会将0.2加到0.1。然后该值被馈送到另一个函数,但是问题是我需要精确地馈入0.3而不是0.30000000000000004。
确保数字正确无误的最简单方法是什么。请注意,将其加到0.25 + 0.125等到仅舍入到小数点后1位的可能性并不能解决问题。
也有可能添加0.2 + 0.10000000000000004,尽管这是非常非常不可能的!
在通用浮点算法中,没有简单的方法可以避免舍入误差。该数字0.3
没有确切的二进制浮点表示形式。
我建议阅读每位计算机科学家应该了解的有关浮点算法的知识,以熟悉数字浮点表示法固有的权衡取舍。
要真正解决您的问题,您应该问自己几个问题:
0.30000000000000004
超出您的误差范围?四舍五入可以接受结果吗?BigDecimal
?最终,涉及浮点精度的问题时,通常必须根据特定问题提出的解决方案来定制解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句