减少或解决 Javascript 中的计算错误 [重复]

Reduce or solve calculative errors in Javascript [duplicate]

提问人:DIGI Byte 提问时间:12/14/2021 更新时间:12/14/2021 访问量:37

问:

有时,简单的代数会导致浮动精度误差。 在这种情况下,我遇到了导致12 * 1.619.20000000003

有没有办法发现这个问题或防止它发生? 准确性非常重要,因此仅舍入或截断是不够的。

JavaScript 数学 浮动精度

评论

0赞 12/14/2021
错误的原因是二进制中的 1.6 具有无限小数。如果您提供更多背景信息,我们也许可以指出可能的解决方案。
0赞 theking2 12/14/2021
@DIGI_Byte写道:“准确性非常重要”,你这到底是什么意思?
0赞 DIGI Byte 12/14/2021
处理货币和加密货币价值

答:

-1赞 GoldenretriverYT 12/14/2021 #1

不。这是浮点运算的本质。你只有这么多的精确度。https://en.wikipedia.org/wiki/Floating-point_arithmetic