返回

JavaScript 取整操作: 探究 Math.floor、parseInt、Math.round 的用法

前端

在 JavaScript 中,取整操作是数值处理的常见需求。本文将深入探讨 Math.floor、parseInt 和 Math.round 这三个函数,帮助你了解它们的用法、异同以及何时使用哪种函数。

1. Math.floor:向下取整

Math.floor 函数用于向下取整,即返回小于或等于给定数字的最大整数。语法为:

Math.floor(number)

用法举例:

console.log(Math.floor(4.5)); // 输出: 4
console.log(Math.floor(-4.5)); // 输出: -5

2. parseInt:取整并转为整数

parseInt 函数将一个字符串或数字转换为整数。它根据给定的基数解析字符串,默认基数为 10。语法为:

parseInt(string, [radix])

用法举例:

console.log(parseInt('4.5')); // 输出: 4
console.log(parseInt('011', 2)); // 输出: 3(因为基数为 2,所以按二进制解析)

需要注意的是,如果字符串中包含非数字字符,parseInt 会忽略这些字符并仅转换数字部分。例如:

console.log(parseInt('4.5abc')); // 输出: 4

3. Math.round:四舍五入

Math.round 函数用于四舍五入,即根据给定数字的尾数来舍入到最接近的整数。语法为:

Math.round(number)

用法举例:

console.log(Math.round(4.5)); // 输出: 5
console.log(Math.round(-4.5)); // 输出: -4

4. 何时使用哪个函数

  • Math.floor: 当需要向下取整时,如计算某天的开始时间戳或获取数组的长度。
  • parseInt: 当需要将字符串转换为整数或从字符串中提取数字时,如从输入字段中获取用户输入的数字。
  • Math.round: 当需要四舍五入到最接近的整数时,如计算平均值或四舍五入货币金额。

5. 其他注意事项

  • Math.floor 和 Math.round 都是全局函数,无需创建对象即可使用。
  • parseInt 是一个内置函数,用于将字符串转换为整数。
  • Math.floor 和 Math.round 总是返回整数,而 parseInt 可以返回整数或 NaN(非数字)。
  • 如果给定的数字是 Infinity 或 NaN,这些函数都会返回 NaN。

6. 补充

除了上述三个函数之外,JavaScript 还提供了其他一些取整方法:

  • Math.ceil:向上取整
  • Math.trunc:截断小数部分
  • Number.prototype.toFixed:将数字转换为带有指定小数位数的字符串

7. 总结

JavaScript 中的取整操作对于数值处理至关重要。Math.floor、parseInt 和 Math.round 三个函数提供了不同的取整方式,可以根据不同的需求进行选择。通过理解这些函数的用法和区别,开发者可以高效准确地处理数值数据。