JavaScript 如何对数字进行四舍五入,可精确到小数位


整数

使用 Math.round 可以将小数四舍五入到接近的整数。 如果参数的小数部分大于 0.5,则舍入到相邻的绝对值更大的整数。 如果参数的小数部分小于 0.5,则舍入到相邻的绝对值更小的整数。

但如果参数的小数部分恰好等于 0.5 的情况下,正数会进位,而负数会舍去

示例如下:


            Math.round(10.49);   //10
            Math.round(10.5);    //11 正数进位
            Math.round(-10.5);   //-10 负数舍去
            Math.round(-10.51);  //-11
        

小数

上面的案例是对小数位的舍去,只保留整数,但大多数情况下我们需要保留小数位的四舍五入

示例如下:


            /**
             * 对数字进行四舍五入,可精确小数点位置
             */
            function round(number, precision) {
                return Math.round(+number + 'e' + precision) / Math.pow(10, precision);
            }
            round(1.0049, 2);   //1.00
            round(1.005, 2);    //1.01 正数进位
            round(-1.005, 2);   //-1.00 负数舍去
            round(-1.0051, 2);  //-1.01
        

同上,此案例在保留小数位后的数字如果恰好等于5的情况下,正数会进位,负数会舍去


back home