JavaScript(6):Number对象

一、概述

在 JavaScript 中,数字是一种基本的数据类型。JavaScript 还支持 Number 对象,该对象是原始数值的包装对象。

在必要时,JavaScript 会自动地在原始数据和对象之间转换。

1、数字可以是数字或者对象

数字可以私有数据进行初始化,就像 x = 123;

JavaScript 数字对象初始化数据, var y = new Number(123);

var x = 123;
var y = new Number(123);
typeof(x) // 返回 Number
typeof(y) // 返回 Object
(x === y) // 为 false,因为 x 是一个数字,y 是一个对象

2、精度

JavaScript 不定义不同类型的数字,比如整数、短、长、浮点等等。

在JavaScript中,数字不分为整数类型和浮点型类型,所有的数字都是由 浮点型类型。JavaScript采用64位浮点格式表示数字,它能表示最大值为±1.7976931348623157 x 10308,最小值为±5 x 10 -324。

整数(不使用小数点或指数计数法)最多为 15 位。

var x = 999999999999999;   // x 为 999999999999999
var y = 9999999999999999;  // y 为 10000000000000000

小数的最大位数是 17,但是浮点运算并不总是 100% 准确:

var x = 0.2+0.1; // 输出结果为 0.30000000000000004

3、八进制和十六进制

如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为"0x",则解释为十六进制数。

var y = 0377;
var z = 0xFF;

默认情况下,JavaScript 数字为十进制显示。

但是你可以使用 toString() 方法 输出16进制、8进制、2进制。

二、创建 Number 对象的语法:

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

二、Number 静态属性

  • Number.MAX_VALUE:可表示的最大的数。
  • Number.MIN_VALUE可表示的最小的数。
  • Number.NaN非数字值。
  • Number.NEGATIVE_INFINITY负无穷大,溢出时返回该值。
  • Number.POSITIVE_INFINITY正无穷大,溢出时返回该值。

三、Number 对象方法

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

如果省略了该参数,将用 0 代替。

//将一个数字,不留任何小数:
var num = 5.56789;
var n=num.toFixed(); //6

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

var num = 5.56789;
var n=num.toFixed(2); //5.57

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

var num = 5.56789;
var n=num.toExponential(3)  //5.568e+0

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

使用不同进制把数字格式化为指定的长度:

var num = new Number(13.3714);
var a = num.toPrecision(); //13.3714
var b = num.toPrecision(2); //13
var c = num.toPrecision(3);//13.4
var d = num.toPrecision(10);//13.37140000

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

var myNumber=128;
myNumber.toString(16);   // 返回 80
myNumber.toString(8);    // 返回 200
myNumber.toString(2);    // 返回 10000000
原文地址:https://www.cnblogs.com/springsnow/p/12294943.html