小数不精确

时间:2018-08-23 02:46:29

标签: javascript

如果我执行0.3-0.2,则得到0.9999999998,而不是0.1,有没有办法使它给出精确的小数?如果它不精确,就不能相信它。

2 个答案:

答案 0 :(得分:1)

您可以尝试以下解决方案:https://30secondsofinterviews.org/#what-does-0-1-0-2-0-3-evaluate-to-

  

解决此问题的方法是使用一个函数,该函数通过定义两个值之间的差应小于的误差幅度(epsilon)值来确定两个数字是否大致相等。

const approxEqual = (n1, n2, epsilon = 0.0001) => Math.abs(n1 - n2) < epsilon
approxEqual(0.1 + 0.2, 0.3) // true

答案 1 :(得分:0)

这是一个非常快速的答案,它会尽我所能总结所有标记:

用于标准数学:

(.3-.2).toFixed(10); //10 can be changed to whatever you like for your string

如果您需要用比这更多的数学运算:

Number((.3-.2).toFixed(10));

这最后一个将给您确切的数字类型期望。