美文网首页程序员让前端飞
js小数点保留时的四舍五入问题的处理

js小数点保留时的四舍五入问题的处理

作者: jia林 | 来源:发表于2019-03-21 16:59 被阅读3次

    需求:要求保留两位小数,四舍五入

    image.png
    • js的toFixed方法保留小数时的处理是4、5舍6入
     let num = 3.045
     console.log(num.toFixed(2));//3.04 和预期不符
    
    • 使用Math.round(x)来进行数值转换,把一个数字数字舍入为最接近的整数
     let num = 3.045
     console.log(Math.round(num*1000/10)/100);//3.05
    

    为什么要乘以100除以10呢?

    • 因为js涉及到小数点精度问题
      console.log(0.555*100);//55.50000000000001
    

    所以为了避免在我们保留到的小数位处出现精度问题,我们会乘一个10的需要保留小数位加1次幂的数然后再把多乘的10除掉

    相关文章

      网友评论

        本文标题:js小数点保留时的四舍五入问题的处理

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