金额,保留两位小数,四舍五入

问题:数字要保留两位小数,但是重写toFixed,大部分数据已经可以四舍五入,但是1.005类似的数据,四舍五入之后得到的数据是1.00,其实应该是1.01,求大神指点;

Number.prototype.toFixed = function (num) {

var changenum = (Number(this * Math.pow(10, num) + 0.5) / Math.pow(10, num)).toString();
index = changenum.indexOf(".");if (index < 0 && num > 0) {
    changenum = changenum + ".";    for (i = 0; i < num; i++) {
        changenum = changenum + "0";
    }
} else {
    index = changenum.length - index;    for (i = 0; i < (num - index) + 1; i++) {
        changenum = changenum + "0";
    }
}return changenum;

};


皈依舞
浏览 782回答 1
1回答

茅侃侃

1.005*100=100.5,Math.round四舍五入,得101再除100得1.01,能不能这样
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript