Math 取整方法的区别
Math.ceil()、Math.round()、Math.floor() 三种取整方法的使用场景
问题
JavaScript 中 Math.ceil()、Math.round()、Math.floor() 三者有什么区别?
解答
这三个方法都用于数字取整,但取整规则不同:
Math.ceil() - 向上取整
始终向正无穷方向取整,返回大于或等于参数的最小整数。
Math.ceil(4.1); // 5
Math.ceil(4.9); // 5
Math.ceil(-4.1); // -4
Math.ceil(-4.9); // -4
Math.round() - 四舍五入
按照标准四舍五入规则取整,小数部分 >= 0.5 时向上取整,否则向下取整。
Math.round(4.4); // 4
Math.round(4.5); // 5
Math.round(-4.4); // -4
Math.round(-4.5); // -4 (注意:负数的 0.5 向上取整)
Math.floor() - 向下取整
始终向负无穷方向取整,返回小于或等于参数的最大整数。
Math.floor(4.1); // 4
Math.floor(4.9); // 4
Math.floor(-4.1); // -5
Math.floor(-4.9); // -5
关键点
Math.ceil()向上取整,正数变大,负数接近 0Math.floor()向下取整,正数接近 0,负数变小Math.round()四舍五入,注意负数 -4.5 结果是 -4- 三个方法都不会修改原数字,返回新的整数值
目录