跳至主要內容

Number

Yang大约 5 分钟

Numberopen in new window


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()open in new window

  • 描述:确定传的值是否是 NaN,是全局 isNaN() 的更稳妥的版本,不会自行将参数转换成数字,只有在参数是值为 NaN 的数字时,才会返回 true
  • 语法:Number.isNaN(value)
  • 参数:
    • value:要检测是否为 NaN 的值
  • 返回值:一个布尔值,表示给定的值是否是 NaN

Number.isFinite()open in new window

  • 描述:确定传递的值类型及本身是否是有限数,和全局的 isFinite() 函数相比,这个方法不会强制将一个非数值的参数转换成数值,这就意味着,只有数值类型的值,且是有穷的(finite),才返回 true

  • 语法:Number.isFinite(value)

  • 参数

    • value:要被检测有穷性的值
  • 返回值:一个 布尔值,表示给定的值是否是一个有穷数


Number.isInteger()open in new window

  • 描述:确定传递的值类型是 number,且是整数

  • 语法:Number.isInteger(value)

  • 参数

    • value:要判断此参数是否为整数
  • 返回值:判断给定值是否是整数的 Boolean


Number.parseFloat()open in new window

  • 描述:和全局对象 parseFloat() 一样,把一个字符串解析成浮点数

  • 语法:Number.parseFloat(string)

  • 参数

    • string:被解析的字符串
  • 返回值:给定值被解析成浮点数,如果无法被解析成浮点数,则返回 NaN


Number.parseInt()open in new window

  • 描述:和全局对象 parseInt() 一样,把字符串 [ 参数 string 的值] 解析成整数

  • 语法:Number.parseInt(string[, radix])

  • 参数

    • string:要解析的值,如果此参数不是字符串,则使用ToString抽象操作将其转换为字符串,忽略此参数中的前导空格
    • radix:一个介于2到36之间的整数,代表字符串的基数(数学数字系统中的基),小心-这并不是默认为10
  • 返回值:从给定字符串中解析的整数,如果基数小于11,且第一个非空白字符不能转换为数字,则返回 NaN


Number.prototype.toExponential()open in new window

  • 描述:以指数表示法返回该数值字符串表示形式

  • 语法:numObj.toExponential(fractionDigits)

  • 参数

    • fractionDigits:可选。一个整数,用来指定小数点后有几位数字。默认情况下用尽可能多的位数来显示数字。
  • 返回值:一个用幂的形式 (科学记数法) 来表示Number 对象的字符串。小数点后以fractionDigits 提供的值来四舍五入。如果 fractionDigits 参数被忽略了,小数点后的将尽可能用最多的位数来表示该数值

  • 注意

    • 对数值字面量使用 toExponential() 方法,且该数值没有小数点和指数时,应该在该数值与该方法之间隔开一个空格,以避免点号被解释为一个小数点。也可以使用两个点号调用该方法。
    • 如果一个数值的小数位数多余 fractionDigits 参数所提供的,则该数值将会在 fractionDigits 指定的小数位数处四舍五入
    • 如果一个数值的小数位数多余 fractionDigits 参数所提供的,则该数值将会在 fractionDigits 指定的小数位数处四舍五入。
    • 如果 fractionDigits 太小或太大将会抛出该错误 RangeError 。介于 0 和 20(包括20)之间的值不会引起 RangeError ,执行环境也可以支持更大或更小范围
    • 如果该方法在一个非数值类型对象上调用,会抛出 TypeError错误

Number.prototype.toFixed()open in new window

  • 描述:使用定点表示法来格式化一个数值
  • 语法:numObj.toFixed(digits)
  • 参数
    • digits:小数点后数字的个数;介于 0 到 20 (包括)之间,实现环境可能支持更大范围。如果忽略该参数,则默认为 0
  • 返回值:使用定点表示法表示给定数字的字符串
  • 注意
    • 如果 digits 参数太小或太大会引起 RangeError,0 到 20(包括)之间的值不会引起
    • 如果该方法在一个非数值类型对象上调用,会抛出 TypeError错误

Number.prototype.toLocaleString()open in new window

  • 描述:返回这个数字在特定语言环境下的表示字符串
  • 语法:numObj.toLocaleString([locales [, options]])

Number.prototype.toString()open in new window

  • 描述:返回指定 Number 对象的字符串表示形式
  • 语法:numObj.toString([radix])
  • 参数
    • radix:指定要用于数字到字符串的转换的基数(从2到36)。如果未指定 radix 参数,则默认值为 10
  • 注意
    • 如果 toString() 的 radix 参数不在 2 到 36 之间,将会抛出一个 RangeError

Number.prototype.valueOf()open in new window

  • 描述:返回一个被 Number 对象包装的原始值
  • 语法:numObj.valueOf()
  • 注意:该方法通常是由 JavaScript 引擎在内部隐式调用的,而不是由用户在代码中显式调用的。
上次编辑于:
贡献者: sunzhenyang