Javascript 简明教程

JavaScript - The Number Object

JavaScript Number 对象将数值数据表示为浮点数。它包含针对数字进行处理的不同属性(常量)和方法。总体而言,你无需担忧 Number 对象,因为浏览器会自动将数字字面量转换为 number 类的实例。

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

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

Syntax

创建 number 对象的语法如下 -

const val = new Number(number);

在 number 的位置,如果你提供任何非数字参数,则参数不能转换为数字,则它返回 NaN (不是数字)。

我们还可以通过向变量分配数字值,来创建数字基元 −

let num1 = 24;
let num2 = 35.65;

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

Number Properties

以下列出每个属性和它们的说明。

Sr.No.

Property & Description

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 Methods

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

Instance Methods

Sr.No.

Method & Description

1

toExponential() 强制将数字显示为指数形式,即使该数字在标准形式范围内。

2

toFixed() 使用特定的小数位数格式化数字。

3

toLocaleString() 以不同于本地设置的格式返回当前数字的字符串值版本。

4

toPrecision() 定义显示数字时要显示的总数字(包括小数点左右的数字)。

5

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

6

valueOf() Returns the number’s value.

Static Methods

Sr.No.

Method & Description

1

isNaN() 它检查该值是否为一个有效数字。

2

isFinite() 它检查该数字是否有限。

3

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

4

isSafeInteger() 它确保该整数是安全整数。

5

parseFloat() 从字符串中解析 float 值。

6

parseInt() 从字符串中解析 integer 值。

Examples

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

Example: Creating Number Object

在下面的示例中,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

Example: Number Properties

在下面的示例中,我们显示了一些 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

Example: Number Methods

在下面的示例中,我们使用了一些 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() Function

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

let num = Number(val)

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

Example

在下面的示例中,我们给 Number() 函数传递了 integer 和 string 值。在输出中,代码打印出数字值。num2 变量的类型是 number,因为 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

Example: Converting Numeric Strings to Numbers

我们可以使用 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

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