您的位置:首页 > 其它

JavsScript"四舍六入五留双"扩展方法

2015-09-18 13:44 141 查看
//首先修正JS四舍五入方法的误差,重新建立正确的统一的四舍五入方法

Number.prototype.myToFixed = function(s) {

    return (parseInt(Number(this.toFixed(4)) * Math.pow(10, s) + 0.5) / Math.pow(10, s)).toFixed(s);

};

//"四舍六入五留双"扩展方法(保留2位小数),floatNum为数字类型

Number.exactFixed = function (floatNum) {

    var floatArr = floatNum.toString().split(".")[1];

    if (floatArr) {

        floatArr = floatArr.split("");

        if (floatArr[2] == "5" && floatArr.length > 3 && floatArr[1] % 2 == 0) {

            return (Number(floatNum.myToFixed(2)) * 100 - 1) / 100;

        }

        return Number(floatNum.myToFixed(2));

    }

    return floatNum;

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: