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