js四舍五入保留两位小数,且不足补0

字数 23阅读 1148

工作中经常遇到四舍五入保留两位小数,记录一下吧

// x为传入的值,pos为保留的小数位
function fomatFloat(x,pos){   
    var f = parseFloat(x);
    if(isNaN(f)){
        return false;
    }   
    f = Math.round(x*Math.pow(10, pos))/Math.pow(10, pos); // pow 幂   
    var s = f.toString();
    var rs = s.indexOf('.');
    if(rs < 0){
        rs = s.length;
        s += '.'; 
    }
    while(s.length <= rs + pos){
        s += '0';
    }
    return s;
}  
console.log("3.10159267保留2位小数:" + fomatFloat(3.10159267, 2));    
console.log("3.15159267保留1位小数:" + fomatFloat(3.15159267, 1)); 
// 3.10159267保留2位小数:3.10
// 3.15159267保留1位小数:3.2

推荐阅读更多精彩内容