【发布时间】:2019-03-18 00:47:35
【问题描述】:
我知道 JavaScript 有一个臭名昭著的数学问题,它可能导致数学问题返回错误的十进制数。但是如何在 JS 中进行简单的加法和减法而不产生不稳定的结果呢?加法和减法的数字不是固定数字,而是依赖于变量。比如……
加法
var a = 3.94
var b = 0.5
var r = a + b
console.log(r) //4.4399999999999995
减法
var a = 4.22
var b = 0.5
var r = a - b
console.log(r) //3.7199999999999998
我知道 JS 中的数学浮点问题,但我正在寻找一个简单的解决方案,以便在进行一些加法和减法时不会出现此问题。
【问题讨论】:
-
使用 toFixed。 var r = Number((a + b).toFixed(2))
-
你引用了另一个我认为explains the issue pretty well的问题。那里的答案有什么你不明白的地方吗?
-
@stephen 他没有问“为什么?”但是对于“如何解决”,不确定是否有帮助指出/欺骗投票给对 OP 没有帮助的答案。
-
@wizardHammer 这些是“他的话”吗?不知道他怎么能改进他的问题,这实际上是非常正确的。是的,那里有一些高质量的答案,但这不是拒绝投票的理由,而是欺骗投票的理由。
标签: javascript math add subtraction