首页 > Web开发 > 详细

js 四舍五入

时间:2021-05-17 15:26:11      阅读:13      评论:0      收藏:0      [点我收藏+]

js的.toFixed(fixed)在chrome中不是真正的四舍五入, 比如:

1.255.toFixed(2)
1.25

1.215.toFixed(2)
1.22

记录一下自己造的轮子:

function roundHalfUp(num, fixed){
    let numStr = num.toString();
    let decimalPlaces = numStr.indexOf(‘.‘);
    let fixedIdx = decimalPlaces + fixed;
    if(decimalPlaces <= -1 || numStr.length <= (fixedIdx + 1)){
        return num;
    }
    let result = parseFloat(numStr.slice(0, fixedIdx + 1));
    if(numStr.charAt(fixedIdx + 1) < ‘5‘){
        return result;
    } else {
        return result + Math.pow(10.0, -1*fixed);
    }
}

 测试一下:

roundHalfUp(1.215, 2)
1.22
roundHalfUp(1.214, 2)
1.21
roundHalfUp(1.254, 2)
1.25
roundHalfUp(1.255, 2)
1.26

 

js 四舍五入

原文:https://www.cnblogs.com/tlz888/p/14776625.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!