js保留小数不补零

格式化小数用tofixed会造成位数不够补零的情况

123.tofixed(2) // 123.00

可以用下面这种方式处理

var val=123
val=Math.round(val*1000)/1000 //保留3位小数,不足三位不补零

可以添加到Number的原型中

Number.prototype.fixed=function(len){
    len=isNaN(len)?0:len
    var num=Math.pow(10,len)
    return Math.round(this*num)/num
}
//test
Number('').fixed()
Number('213412DDD').fixed()
1234.152354.fixed()
1234.152354.fixed(2)
1234.152354.fixed(10)

你可能感兴趣的:(js保留小数不补零)