JavaScript 中的 Number 对象提供了多种方法,可以用于数字的转换和处理。以下是一些常用的 Number 方法:

转换方法

  • Number.toString([radix]): 将数字转换为字符串,可以指定基数(进制),默认为十进制。
  • Number.toFixed([digits]): 将数字格式化为指定小数点后的位数的字符串形式。
  • Number.toExponential([fractionDigits]): 将数字转换为指数形式的字符串,可以指定小数点后的位数。
  • Number.toPrecision([precision]): 将数字转换到指定精度的字符串形式。

解析方法

  • parseInt(string[, radix]): 解析一个字符串并返回一个指定基数的整数。radix 可选,表示字符串的基数。
  • parseFloat(string): 解析一个字符串并返回一个浮点数。

检测方法

  • Number.isFinite(value): 检查一个值是否为有限数。
  • Number.isInteger(value): 检查一个值是否为整数。
  • Number.isNaN(value): 检查一个值是否为 NaN(不是数字)。
  • Number.isSafeInteger(value): 检查一个值是否为安全整数(在 -(2^53 - 1) 和 2^53 - 1 之间)。

常数属性

Number 对象还包括一些表示特殊数值的常数属性:

  • Number.MAX_VALUE: 可表示的最大正数。
  • Number.MIN_VALUE: 可表示的最小正数(最接近于零的正数,不是最小的负数)。
  • Number.NaN: 特殊的“非数字”值。
  • Number.NEGATIVE_INFINITY: 负无穷大,溢出时返回。
  • Number.POSITIVE_INFINITY: 正无穷大,溢出时返回。
  • Number.MAX_SAFE_INTEGER: 可以安全表示的最大整数。
  • Number.MIN_SAFE_INTEGER: 可以安全表示的最小整数。
  • Number.EPSILON: The difference between 1 and the smallest number > 1.

例子

var num = 1234.56789;
 
// 转换方法
console.log(num.toString()); // "1234.56789"
console.log(num.toFixed(2)); // "1234.57"
console.log(num.toExponential(2)); // "1.23e+3"
console.log(num.toPrecision(5)); // "1234.6"
 
// 解析方法
console.log(parseInt("20 apples", 10)); // 20
console.log(parseFloat("0.53")); // 0.53
 
// 检测方法
console.log(Number.isFinite(1 / 0)); // false
console.log(Number.isInteger(1234)); // true
console.log(Number.isNaN(NaN)); // true
console.log(Number.isSafeInteger(Math.pow(2, 53))); // false

当操作和处理数字时,尤其是处理用户输入或者不同数据类型之间的转换时,这些方法是非常有用的。记得在使用这些方法的时候,要对参数的合法性进行检查,尤其是解析字符串为数字的函数,避免因无效输入而产生错误或意外的结果。