JavaScript Number 对象参考手册

JavaScript Number 对象参考手册

Number 对象

Number 对象是原始数值的包装对象。

创建 Number 对象的语法:

var myNum=new Number(value);
var myNum=Number(value);

参数

参数 value 是要创建的 Number 对象的数值,或是要转换成数字的值。

返回值

当 Number() 和运算符 new 一起作为构造函数使用时,它返回一个新创建的 Number 对象。如果不用 new 运算符,把 Number() 作为一个函数来调用,它将把自己的参数转换成一个原始的数值,并且返回这个值(如果转换失败,则返回 NaN)。

Number 对象属性

FF:Firefox, IE: Internet Explorer

属性

描述

FF

IE

constructor

返回对创建此对象的 Number 函数的引用。

1.0

4.0

MAX_VALUE

可表示的最大的数。

1.0

4.0

MIN_VALUE

可表示的最小的数。

1.0

4.0

NaN

非数字值。

1.0

4.0

NEGATIVE_INFINITY

负无穷大,溢出时返回该值。

1.0

4.0

POSITIVE_INFINITY

正无穷大,溢出时返回该值。

1.0

4.0

prototype

使您有能力向对象添加属性和方法。

1.0

4.0

constructor 属性

定义和用法

constructor属性返回对创建此对象的 Boolean 函数的引用。

语法

object.constructor

实例

在本例中,我们将展示如何使用 constructor 属性:

<script type="text/javascript">
 
var test=new Boolean();
 
if (test.constructor==Array)
{
document.write("This is an Array");
}
if (test.constructor==Boolean)
{
document.write("This is a Boolean");
}
if (test.constructor==Date)
{
document.write("This is a Date");
}
if (test.constructor==String)
{
document.write("This is a String");
}
 
</script>

输出:

This is a Boolean

MAX_VALUE 属性

定义和用法

MAX_VALUE 属性是JavaScript 中可表示的最大的数。它的近似值为 1.7976931348623157 x 10308

语法

Number.MAX_VALUE

实例

返回 JavaScript 中可能的最大值:

<script type="text/javascript">
 
document.write(Number.MAX_VALUE);
 
</script>

输出:

1.7976931348623157e+308

MIN_VALUE 属性

定义和用法

MIN_VALUE 属性是JavaScript 中可表示的最小的数(接近 0 ,但不是负数)。它的近似值为 5 x 10-324

语法

Number.MIN_VALUE

实例

返回 JavaScript 中可能的最小值:

<script type="text/javascript">
 
document.write(Number.MIN_VALUE);
 
</script>

输出:

5e-324

 NaN 属性

定义和用法

NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。

提示:请使用 isNaN() 全局函数来判断一个值是否是 NaN 值。

语法

Number.NaN

说明

Number.NaN是一个特殊值,说明某些算术运算(如求负数的平方根)的结果不是数字。方法 parseInt() 和parseFloat() 在不能解析指定的字符串时就返回这个值。对于一些常规情况下返回有效数字的函数,也可以采用这种方法,用 Number.NaN 说明它的错误情况。

JavaScript以 NaN 的形式输出 Number.NaN。请注意,NaN 与其他数值进行比较的结果总是不相等的,包括它自身在内。因此,不能与Number.NaN 比较来检测一个值是不是数字,而只能调用 isNaN() 来比较。

在 ECMAScript v1 和其后的版本中,还可以用预定义的全局属性 NaN 代替 Number.NaN。

提示和注释

提示:请使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己。

实例

用 NaN 指示某个值是否是数字:

<script type="text/javascript">
 
var Month=30;
 
if (Month < 1 || Month > 12)
{
Month = Number.NaN;
}
 
document.write(Month);
 
</script>

输出:

Nan

NEGATIVE_INFINITY 属性

定义和用法

NEGATIVE_INFINITY属性表示小于 Number.MIN_VALUE 的值。

该值代表负无穷大。

语法

Number.NEGATIVE_INFINITY

说明

Number.NEGATIVE_INFINITY是一个特殊值,它在算术运算或函数生成一个比JavaScript 能表示的最小负数还小的数(也就是比 -Number.MAX_VALUE 还小的数)时返回。

JavaScript显示 NEGATIVE_INFINITY 时使用的是 -Infinity。这个值的算术行为和无穷大非常相似。例如,任何数乘无穷大结果仍为无穷大,任何数被无穷大除的结果为 0。

在 ECMAScript v1 和其后的版本中,还可以用 -Infinity 代替 Number.NEGATIVE_INFINITY。

实例

在本例中,我们将使用 NEGATIVE_INFINITY:

<script type="text/javascript">
 
var x=(-Number.MAX_VALUE)*2
if (x==Number.NEGATIVE_INFINITY)
  {
  document.write("Value of x: " + x);
  }
 
</script>

输出:

Value of x: -Infinity

POSITIVE_INFINITY 属性

定义和用法

POSITIVE_INFINITY属性表示大于 Number.MAX_VALUE 的值。

该值代表正无穷大。

语法

Number.POSITIVE_INFINITY

说明

Number.POSITIVE_INFINITY是一个特殊值,它在算术运算或函数生成一个比JavaScript 能表示的最大的数还大的数(也就是比 Number.MAX_VALUE 还大的数)时返回。

JavaScript显示 POSITIVE_INFINITY 时使用的是 Infinity。这个值的算术行为和无穷大非常相似。例如,任何数乘无穷大结果仍为无穷大,任何数被无穷大除的结果为 0。

在 ECMAScript v1 和其后的版本中,还可以用 Infinity 代替 Number.POSITIVE_INFINITY。

实例

在本例中,我们将使用 POSITIVE_INFINITY:

<script type="text/javascript">
 
var x=(Number.MAX_VALUE)*2
if (x==Number.POSITIVE_INFINITY)
  {
  document.write("Value of x: " + x);
  }
 
</script>

输出:

Value of x: Infinity

Number 对象方法

FF:Firefox, IE: Internet Explorer

方法

描述

FF

IE

toString

把数字转换为字符串,使用指定的基数。

1.0

4.0

toLocaleString

把数字转换为字符串,使用本地数字格式顺序。

1.0

4.0

toFixed

把数字转换为字符串,结果的小数点后有指定位数的数字。

1.0

5.5

toExponential

把对象的值转换为指数计数法。

1.0

5.5

toPrecision

把数字格式化为指定的长度。

1.0

5.5

valueOf

返回一个 Number 对象的基本数字值。

1.0

4.0

toString() 方法

定义和用法

toString()方法可把一个 Number 对象转换为一个字符串,并返回结果。

语法

NumberObject.toString(radix)

参数

描述

radix

可选。规定表示数字的基数,使 2 ~ 36 之间的整数。若省略该参数,则使用基数 10。但是要注意,如果该参数是 10 以外的其他值,则 ECMAScript 标准允许实现返回任意值。

返回值

数字的字符串表示。例如,当 radix 为 2 时,NumberObject 会被转换为二进制值表示的字符串。

抛出

当调用该方法的对象不是 Number 时抛出 TypeError 异常。

实例

在本例中,我们将把一个数字转换为字符串:

<script type="text/javascript">
 
var number = new Number(1337);
document.write (number.toString())
 
</script>

输出:

1337

toLocaleString() 方法

定义和用法

toLocaleString()方法可把一个 Number 对象转换为本地格式的字符串。

语法

NumberObject.toLocaleString()

返回值

数字的字符串表示,由实现决定,根据本地规范进行格式化,可能影响到小数点或千分位分隔符采用的标点符号。

抛出

当调用该方法的对象不是 Number 时抛出 TypeError 异常。

toFixed() 方法

定义和用法

toFixed()方法可把 Number 四舍五入为指定小数位数的数字。

语法

NumberObject.toFixed(num)

参数

描述

num

必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。

返回值

返回 NumberObject 的字符串表示,不采用指数计数法,小数点后有固定的 num 位数字。如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度。如果 num 大于 le+21,则该方法只调用 NumberObject.toString(),返回采用指数计数法表示的字符串。

抛出

当 num 太小或太大时抛出异常 RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。

当调用该方法的对象不是 Number 时抛出 TypeError 异常。

实例

在本例中,我们将把数字舍入为仅有一位小数的数字:

Show the number 13.37 with one decimal:
<script type="text/javascript">
var num = new Number(13.37);
document.write (num.toFixed(1))
</script>

输出:

Show the number 13.37 with one decimal:
13.4

toExponential() 方法

定义和用法

toExponential()方法可把对象的值转换成指数计数法。

语法

NumberObject.toExponential(num)

参数

描述

num

必需。规定指数计数法中的小数位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将使用尽可能多的数字。

返回值

返回 NumberObject 的字符串表示,采用指数计数法,即小数点之前有一位数字,小数点之后有 num 位数字。该数字的小数部分将被舍入,必要时用 0 补足,以便它达到指定的长度。

抛出

当 num 太小或太大时抛出异常 RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。

当调用该方法的对象不是 Number 时抛出 TypeError 异常。

实例

在本例中,我们将把一个数字转换为指数计数法:

Show 10,000 as an exponential notation:
<script type="text/javascript">
var num = new Number(10000);
document.write (num.toExponential(1))
</script>

输出:

Show 10,000 as an exponential notation:
1.0e+4

toPrecision() 方法

定义和用法

toPrecision()方法可在对象的值超出指定位数时将其转换为指数计数法。

语法

NumberObject.toPrecision(num)

参数

描述

num

必需。规定必须被转换为指数计数法的最小位数。该参数是 1 ~ 21 之间(且包括 1 和 21)的值。有效实现允许有选择地支持更大或更小的 num。如果省略了该参数,则调用方法 toString(),而不是把数字转换成十进制的值。

返回值

返回 NumberObject 的字符串表示,包含 num 个有效数字。如果 num 足够大,能够包括 NumberObject 整数部分的所有数字,那么返回的字符串将采用定点计数法。否则,采用指数计数法,即小数点前有一位数字,小数点后有 num-1 位数字。必要时,该数字会被舍入或用 0 补足。

抛出

当 num 太小或太大时抛出异常 RangeError。1 ~ 21 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。

当调用该方法的对象不是 Number 时抛出 TypeError 异常。

在本例中,我们将把一个数字转换为指数计数法:

Show 10,000 as an exponential notation:
<script type="text/javascript">
var num = new Number(10000);
document.write (num.toPrecision(4))
</script>

输出:

Show 10,000 as an exponential notation:
1.000e+4

valueOf() 方法

定义和用法

valueOf()方法可以字符串返回数字。

字符串的输出通常等于该数字。

valueOf()方法通常由 JavaScript 在后台自动进行调用,而不是显式地处于代码中。

语法

NumberObject.valueOf()

返回值

NumberObject的原始数值。

抛出

当调用该方法的对象不是 Number 时抛出 TypeError 异常。

Number 对象描述

在 JavaScript 中,数字是一种基本的数据类型。JavaScript 还支持 Number 对象,该对象是原始数值的包装对象。在必要时,JavaScript会自动地在原始数据和对象之间转换。在JavaScript 1.1 中,可以用构造函数Number() 明确地创建一个 Number 对象,尽管这样做并没有什么必要。

构造函数 Number() 可以不与运算符 new 一起使用,而直接作为转化函数来使用。以这种方式调用Number() 时,它会把自己的参数转化成一个数字,然后返回转换后的原始数值(或 NaN)。

构造函数通常还用作 5 个有用的数字常量的占位符,这 5 个有用的数字常量分别是可表示的最大数、可表示的最小数、正无穷大、负无穷大和特殊的 NaN 值。 注意,这些值是构造函数 Number() 自身的属性,而不是单独的某个 Number 对象的属性。

比如这样使用属性 MAX_VALUE 是正确的:

var big = Number.MAX_VALUE

但是这样是错误的:

var n= new Number(2);
var big = n.MAX_VALUE

作为比较,我们看一下 toString() 和 Number 对象的其他方法,它们是每个 Number 对象的方法,而不是 Number() 构造函数的方法。前面提到过,在必要时,JavaScript会自动地把原始数值转化成 Number 对象,调用 Number 方法的既可以是 Number 对象,也可以是原始数字值。

var n = 123;
var binary_value = n.toString(2);

 

转自:http://www.w3school.com.cn/js/jsref_obj_number.asp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值