Math.ceil 和 Math.floor 的区别

JavaScript 中向上取整和向下取整的使用方法

问题

Math.ceil()Math.floor() 有什么区别?

解答

Math.ceil() - 向上取整

返回大于或等于给定数字的最小整数。

Math.ceil(4.2);   // 5
Math.ceil(4.8);   // 5
Math.ceil(-4.2);  // -4
Math.ceil(-4.8);  // -4
Math.ceil(4);     // 4

Math.floor() - 向下取整

返回小于或等于给定数字的最大整数。

Math.floor(4.2);   // 4
Math.floor(4.8);   // 4
Math.floor(-4.2);  // -5
Math.floor(-4.8);  // -5
Math.floor(4);     // 4

关键点

  • Math.ceil() 向正无穷方向取整,正数向上,负数向零
  • Math.floor() 向负无穷方向取整,正数向下,负数远离零
  • 整数本身不会改变
  • 负数取整时两者方向相反