美文网首页
0.1+0.2 的问题

0.1+0.2 的问题

作者: 废弃的种子 | 来源:发表于2020-12-05 14:33 被阅读0次

问题

0.1+0.2=0.30000000000000004

原因

  • 0.1 , 0.2 转二进制相加后,再转10进制相加;

表示为true

  • ES6提供的Number.EPSILON方法;该方法无穷小于零;只要小于0,就为true
   function numbersequal(a, b) {
        return Math.abs(a - b) < Number.EPSILON;
    }
    var a = 0.1 + 0.2,
        b = 0.3;
    console.log(numbersequal(a, b));

如何正确计算

  • 四舍五入后返回字符串,然后转为浮点型
 parseFloat((0.1 + 0.2).toFixed(10)) 

相关文章

网友评论

      本文标题:0.1+0.2 的问题

      本文链接:https://www.haomeiwen.com/subject/mqsuwktx.html