Number
JavaScript 的
Number
对象是经过封装的能让你处理数字值的对象Number
对象由Number()
构造器创建。
- 参数
value
:被创建对象的数字值
- 作用
- 如果参数无法被转换为数字,则返回
NAN
- 在非构造器上下文中 (如:没有
new
操作符),Number
能被用来执行类型转换。
- 如果参数无法被转换为数字,则返回
// 示例
new Number(value)
var a = new Number('123'); // a === 123 is false
Number.MAX_SAFE_INTEGER
JavaScript 中最大的安全整数 2^53 - 1
Number.MIN_SAFE_INTEGER
JavaScript 中最小的安全整数 - ( 2^53 - 1 )
Number.MAX_VALUE
能表示的最大正数
最小的负数是-MAX_VALUE
Number.MIN_VALUE
能表示的最小正数即最接近 0 的正数 (实际上不会变成 0)
最大的负数是-MIN_VALUE
Number.isNaN()
- 描述:确定传的值是否是
NaN
,是全局isNaN()
的更稳妥的版本,不会自行将参数转换成数字,只有在参数是值为 NaN 的数字时,才会返回 true。 - 语法:
Number.isNaN(value)
- 参数:
- value:要检测是否为
NaN
的值
- value:要检测是否为
- 返回值:一个布尔值,表示给定的值是否是
NaN
Number.isFinite()
描述:确定传递的值类型及本身是否是有限数,和全局的 isFinite() 函数相比,这个方法不会强制将一个非数值的参数转换成数值,这就意味着,只有数值类型的值,且是有穷的(finite),才返回 true。
语法:
Number.isFinite(value)
参数
- value:要被检测有穷性的值
返回值:一个 布尔值,表示给定的值是否是一个有穷数
Number.isInteger()
描述:确定传递的值类型是
number
,且是整数语法:
Number.isInteger(value)
参数
- value:要判断此参数是否为整数
返回值:判断给定值是否是整数的
Boolean
值
Number.parseFloat()
描述:和全局对象 parseFloat() 一样,把一个字符串解析成浮点数
语法:
Number.parseFloat(string)
参数
- string:被解析的字符串
返回值:给定值被解析成浮点数,如果无法被解析成浮点数,则返回
NaN
Number.parseInt()
描述:和全局对象 parseInt() 一样,把字符串 [ 参数 string 的值] 解析成整数
语法:
Number.parseInt(string[, radix])
参数
- string:要解析的值,如果此参数不是字符串,则使用ToString抽象操作将其转换为字符串,忽略此参数中的前导空格
- radix:一个介于2到36之间的整数,代表字符串的基数(数学数字系统中的基),小心-这并不是默认为10
返回值:从给定字符串中解析的整数,如果基数小于11,且第一个非空白字符不能转换为数字,则返回
NaN
Number.prototype.toExponential()
描述:以指数表示法返回该数值字符串表示形式
语法:
numObj.toExponential(fractionDigits)
参数
- fractionDigits:可选。一个整数,用来指定小数点后有几位数字。默认情况下用尽可能多的位数来显示数字。
返回值:一个用幂的形式 (科学记数法) 来表示Number 对象的字符串。小数点后以fractionDigits 提供的值来四舍五入。如果 fractionDigits 参数被忽略了,小数点后的将尽可能用最多的位数来表示该数值
注意
- 对数值字面量使用
toExponential()
方法,且该数值没有小数点和指数时,应该在该数值与该方法之间隔开一个空格,以避免点号被解释为一个小数点。也可以使用两个点号调用该方法。 - 如果一个数值的小数位数多余 fractionDigits 参数所提供的,则该数值将会在 fractionDigits 指定的小数位数处四舍五入
- 如果一个数值的小数位数多余 fractionDigits 参数所提供的,则该数值将会在 fractionDigits 指定的小数位数处四舍五入。
- 如果 fractionDigits 太小或太大将会抛出该错误
RangeError
。介于 0 和 20(包括20)之间的值不会引起RangeError
,执行环境也可以支持更大或更小范围 - 如果该方法在一个非数值类型对象上调用,会抛出
TypeError
错误
- 对数值字面量使用
Number.prototype.toFixed()
- 描述:使用定点表示法来格式化一个数值
- 语法:
numObj.toFixed(digits)
- 参数
- digits:小数点后数字的个数;介于 0 到 20 (包括)之间,实现环境可能支持更大范围。如果忽略该参数,则默认为 0
- 返回值:使用定点表示法表示给定数字的字符串
- 注意
- 如果 digits 参数太小或太大会引起
RangeError
,0 到 20(包括)之间的值不会引起 - 如果该方法在一个非数值类型对象上调用,会抛出
TypeError
错误
- 如果 digits 参数太小或太大会引起
Number.prototype.toLocaleString()
- 描述:返回这个数字在特定语言环境下的表示字符串
- 语法:
numObj.toLocaleString([locales [, options]])
Number.prototype.toString()
- 描述:返回指定 Number 对象的字符串表示形式
- 语法:
numObj.toString([radix])
- 参数
- radix:指定要用于数字到字符串的转换的基数(从2到36)。如果未指定 radix 参数,则默认值为 10
- 注意
- 如果 toString() 的 radix 参数不在 2 到 36 之间,将会抛出一个
RangeError
- 如果 toString() 的 radix 参数不在 2 到 36 之间,将会抛出一个
Number.prototype.valueOf()
- 描述:返回一个被
Number
对象包装的原始值 - 语法:
numObj.valueOf()
- 注意:该方法通常是由 JavaScript 引擎在内部隐式调用的,而不是由用户在代码中显式调用的。