Number 对象是原始数值的包装对象。
创建 Number 对象的语法:
var myNum=new Number(value);
var myNum=Number(value);
参数
参数 value 是要创建的 Number 对象的数值,或是要转换成数字的值。
返回值
当 Number() 和运算符 new 一起作为构造函数使用时,它返回一个新创建的 Number 对象。如果不用 new 运算符,把 Number() 作为一个函数来调用,它将把自己的参数转换成一个原始的数值,并且返回这个值(如果转换失败,则返回 NaN)。
var myNum=new Number(1);
var myNums=Number(2);
console.log(myNum)
console.log(myNums)
Number 对象属性
属性 | 描述 |
---|---|
constructor | 返回对创建此对象的 Number 函数的引用。 |
MAX_VALUE | 可表示的最大的数。 |
MIN_VALUE | 可表示的最小的数。 |
NaN | 非数字值。 |
NEGATIVE_INFINITY | 负无穷大,溢出时返回该值。 |
POSITIVE_INFINITY | 正无穷大,溢出时返回该值。 |
prototype | 使您有能力向对象添加属性和方法。 |
constructor 获取对象的构造函数
var o=1;
console.log(o.constructor==Number);//true
MAX_VALUE 属性是 JavaScript 中可表示的最大的数。它的近似值为 1.7976931348623157 x 10308。
语法
Number.MAX_VALUE
<script type="text/javascript">
document.write(Number.MAX_VALUE);
</script>
1.7976931348623157e+308
MIN_VALUE 属性是 JavaScript 中可表示的最小的数(接近 0 ,但不是负数)。它的近似值为 5 x 10-324。
语法
Number.MIN_VALUE
<script type="text/javascript">
document.write(Number.MIN_VALUE);
</script>
5e-324
NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。
说明
Number.NaN 是一个特殊值,说明某些算术运算(如求负数的平方根)的结果不是数字。方法 parseInt() 和 parseFloat() 在不能解析指定的字符串时就返回这个值。对于一些常规情况下返回有效数字的函数,也可以采用这种方法,用 Number.NaN 说明它的错误情况。
JavaScript 以 NaN 的形式输出 Number.NaN。请注意,NaN 与其他数值进行比较的结果总是不相等的,包括它自身在内。因此,不能与 Number.NaN 比较来检测一个值是不是数字,而只能调用 isNaN() 来比较。
<script type="text/javascript">
var Month=30;
if (Month < 1 || Month > 12)
{
Month = Number.NaN;
}
document.write(Month);
</script>
Nan
Number 对象方法
方法 | 描述 |
---|---|
toString | 把数字转换为字符串,使用指定的基数。 |
toLocaleString | 把数字转换为字符串,使用本地数字格式顺序。 |
toFixed | 把数字转换为字符串,结果的小数点后有指定位数的数字。 |
toExponential | 把对象的值转换为指数计数法。 |
toPrecision | 把数字格式化为指定的长度。 |
valueOf | 返回一个 Number 对象的基本数字值。 |
toString() 方法可把一个 Number 对象转换为一个字符串,并返回结果。
var number = new Number(1337);
console.log(number.valueOf())
console.log(number.toString())
toLocaleString() 方法可把一个 Number 对象转换为本地格式的字符串。
语法
NumberObject.toLocaleString()
返回值
数字的字符串表示,由实现决定,根据本地规范进行格式化,可能影响到小数点或千分位分隔符采用的标点符号。
var number = new Number(133700000);
console.log(number.valueOf())
console.log(number.toLocaleString())
toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
语法
NumberObject.toFixed(num)
返回值
返回 NumberObject 的字符串表示,不采用指数计数法,小数点后有固定的 num 位数字。如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度。如果 num 大于 le+21,则该方法只调用 NumberObject.toString(),返回采用指数计数法表示的字符串。
var o=1.2564;
console.log(o.toFixed())//1
console.log(o.toFixed(1))//1.3
console.log(o.toFixed(2))//1.26
console.log(o.toFixed(3))//1.256
toExponential() 方法可把对象的值转换成指数计数法。
语法
NumberObject.toExponential(num)
返回值
返回 NumberObject 的字符串表示,采用指数计数法,即小数点之前有一位数字,小数点之后有 num 位数字。该数字的小数部分将被舍入,必要时用 0 补足,以便它达到指定的长度。
var o=1000;
console.log(o.toExponential(1))//1.0e+3
console.log(o.toExponential(2))//1.00e+3
console.log(o.toExponential(3))//1.000e+3
valueOf() 方法可以字符串返回数字
返回值
NumberObject 的原始数值。
var o=1000;
console.log(o.valueOf())//1000