JavaScript - Number 对象



JavaScript 的Number对象将数值数据表示为浮点数。它包含用于处理数字的不同属性(常量)和方法。通常,您不需要担心Number对象,因为浏览器会自动将数字字面量转换为数字类的实例。

可以使用 Number 构造函数定义 JavaScript Number 对象。可以使用 Number() 函数将其他类型的数据(例如字符串等)转换为数字。

JavaScript 数字始终存储为浮点值(十进制数)。JavaScript 并不区分整数值和浮点值。JavaScript 使用 IEEE 754 标准定义的 64 位浮点格式表示数字。

语法

创建number对象的语法如下:

const val = new Number(number);

如果您在 number 位置提供任何非数字参数,则该参数无法转换为数字,它将返回NaN(非数字)。

我们还可以通过将数值赋给变量来创建数字基元:

let num1 = 24;
let num2 = 35.65;

JavaScript 会自动将数字基元转换为 Number 对象。因此,我们可以对数字基元使用 Number 对象的所有属性和方法。

Number 属性

以下是每个属性及其说明的列表。

序号 属性和描述
1

EPSILON

它表示 1 和大于 1 的最小浮点数之间的差值。

2

MAX_SAFE_INTEGER

它返回最大安全整数值。

3

MAX_VALUE

JavaScript 中数字可能具有的最大值 1.7976931348623157E+308。

4

MIN_SAFE_INTEGER

它返回最小安全整数值。

5

MIN_VALUE

JavaScript 中数字可能具有的最小值 5E-324。

6

NaN

等于非数值。

7

NEGATIVE_INFINITY

小于 MIN_VALUE 的值。

8

POSITIVE_INFINITY

大于 MAX_VALUE 的值。

9

prototype

Number 对象的静态属性。使用 prototype 属性可以为当前文档中的 Number 对象分配新属性和方法。

10

constructor

返回创建此对象实例的函数。默认情况下,这是 Number 对象。

Number 方法

Number 对象只包含作为每个对象定义一部分的默认方法(实例方法和静态方法)。

实例方法

序号 方法及描述
1

toExponential()

强制数字以指数表示法显示,即使数字在标准表示法的范围内。

2

toFixed()

格式化数字,指定小数点右侧的位数。

3

toLocaleString()

返回当前数字的字符串值版本,格式可能根据本地设置而有所不同。

4

toPrecision()

定义要显示的数字的总位数(包括小数点左侧和右侧的位数)。

5

toString()

返回数字值的字符串表示形式。

6

valueOf()

返回数字的值。

静态方法

序号 方法及描述
1

isNaN()

检查值是否为有效数字。

2

isFinite()

检查数字是否为有限数。

3

isInteger()

当数字为整数值时返回布尔值。

4

isSafeInteger()

确保整数是一个安全整数。

5

parseFloat()

从字符串中解析浮点值。

6

parseInt()

从字符串中解析整数值。

示例

让我们来看几个例子来演示 Number 的属性和方法。

示例:创建 Number 对象

在下面的示例中,num 变量包含值为 20 的数字对象。在输出中,您可以看到 num 变量的类型是对象。

<html>
<body>
   <p id = "output"> </p>
   <script>
      const num = new Number(20);
      document.getElementById("output").innerHTML =  
      "num = " + num + "<br>" + 
      "typeof num : " + typeof num;
   </script>
</body>
</html>

输出

num = 20
typeof num : object

示例:Number 属性

在下面的示例中,我们显示了一些 Number 属性。您应该尝试打印更多属性。

<html>
<body>
<div id="output"></div>
   <script>
      document.getElementById("output").innerHTML =
      "Max Value : " + Number.MAX_VALUE + "<br>"
      +"Min Value : " + Number.MIN_VALUE + "<br>"
      +"Positive Infinity : " + Number.POSITIVE_INFINITY + "<br>"
      +"Negative Infinity : " + Number.NEGATIVE_INFINITY + "<br>"
      +"NaN : " + Number.NaN + "<br>";
   </script>
</body>
</html>

输出

Max Value : 1.7976931348623157e+308
Min Value : 5e-324
Positive Infinity : Infinity
Negative Infinity : -Infinity
NaN : NaN

示例:Number 方法

在下面的示例中,我们使用了一些 Number 的属性。您可以尝试编辑程序以使用更多方法。

<html>
<body>
<div id="output"></div>
   <script>
      const num = 877.5312
      document.getElementById("output").innerHTML =
      "num.toExponetial() is : " + num.toExponential()+ "<br>"
      +"num.toFixed() is : " + num.toFixed() + "<br>"
      +"num.toPrecision(2) is : " + num.toPrecision(2) + "<br>";
   </script>
</body>
</html>

输出

num.toExponetial() is : 8.775312e+2
num.toFixed() is : 878
num.toPrecision(2) is : 8.8e+2

JavaScript Number() 函数

Number() 函数将变量转换为数字。您可以使用它来更改变量的数据类型。

let num = Number(val)

这里 val 是一个变量或值,需要转换为数字。它不会创建一个数字对象,而是返回一个原始值。

示例

在下面的示例中,我们将整数和字符串值传递给 Number() 函数。在输出中,代码打印数值。num2 变量的类型是数字,因为 Number() 函数返回原始数字值。

<html>
<body>
   <p id = "output"> </p>
   <script>
      let num = Number(10);
      document.getElementById("output").innerHTML = 
      "num = " + num + "<br>" + 
	   "typeof num = " + typeof num;
   </script>
</body>
</html>

输出

num = 10
typeof num = number

示例:将数字字符串转换为数字

我们可以使用 Number() 函数将数字字符串转换为数字。尝试以下示例:

<html>
<body>
   <p id = "output"> </p>
   <script>
      let str = "102.34";
      let num = Number(str);
      document.getElementById("output").innerHTML =
      "num = " + num + "<br>" +
      "typeof num = " + typeof num;
   </script>
</body>
</html>

输出

num = 102.34
typeof num = number

尝试使用不同的数字,例如整数、浮点数、八进制数、十六进制数等,来测试上面的示例。

广告