欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js笔记(一)浮点数

程序员文章站 2022-03-30 17:10:56
...

浮点数的坑

  • JavaScript中,数字都是以64位浮点数存储,包括整数,由于浮点数不是精确的数,某些运算只有整数才能完成,此时 JavaScript 会自动把64位浮点数,转成32位整数,然后再进行运算,所以运算可能会出现偏差
    console.log(0.1+0.1===0.2);             //true
    console.log(0.1+0.2===0.3);             //false
    console.log(0.1+0.3===0.4);             //true
    console.log(0.1+0.4===0.5);             //true
    console.log(0.1+0.5===0.6);             //true
    console.log(0.1+0.6===0.7);             //true
    console.log(0.1+0.7===0.8);             //false
    console.log(0.1+0.8===0.9);             //true
    console.log(0.1+0.9===1.0);             //true
    console.log(1.0/0.1);                    //  10
    console.log(0.9/0.1);                    //  9
    console.log(0.8/0.1);                    //  8
    console.log(0.7/0.1);                    //  6.999999999999999
    console.log(0.6/0.1);                    //  5.999999999999999
    console.log(0.5/0.1);                    //  5
    console.log(0.4/0.1);                    //  4
    console.log(0.3/0.1);                    //  2.9999999999999996
    console.log(0.2/0.1);                    //  2
    console.log(0.1/0.1);                    //  1

总结

  • 其他算法就不做介绍,至于详细解释,有兴趣可以网上搜索,遇到这种问题最简单的方法就是乘以10的倍数变成整数,避开小数
  console.log((0.3*10)/(0.1*10));           //3
相关标签: 浮点数