js四舍五入很自然想到 toFixed 方法
然而toFixed方法存在问题
console.log(0.995.toFixed(2)) //0.99 ****出实际应该为1.00
console.log(1.995.toFixed(2)) //2.00
现在提供一个方法
function toDecimal(x) {
var num = Math.round(x*100)/100;//此处x在做乘法是会进行隐士类型转换数值型,如果转换失败最终num=NaN
if (isNaN(num)) {
return false;
}
var str = num.toString();
var rs = str.indexOf('.');
if (rs < 0) {
str += '.';
}
while (str.length <= 3) {
str += '0';
}
return str;
}
console.log(toDecimal(0.995))//1.00