js 中小数精度的问题

开篇引出一个问题 0.1+0.2 等于多少?

对于上面的问题有同学可能会说,0.1+0.2=0.3 啊,确实这样写在数学领域来说确实等于的是 0.3,但是 js 里存在着对于小数精度的误差。我们可以来看一下在 js 里 0.1+0.2 到底等于几。

在控制台里打印一下 0.1 + 0.2 === 0.3,可以看到,0.1+0.2 是不等于 0.3 的,那么我们要怎么去规避这样的问题。看下面的一个函数:

function formatFloat(float, n) {
  var fix = Math.pow(10, n); //  计算10的n次方
  return parseInt(float * fix, 10) / fix;
}
1
2
3
4

这样我们进行小数的计算就没有问题了,我们可以去控制台看一看。

好了,关于小数精度的问题就说到这里了,下回见。

Last Updated: 8/20/2019, 3:36:58 AM