Javascript 简明教程

JavaScript - The Number Object

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

The JavaScript Number object represents numerical data as floating-point numbers. It contains different properties (constants) and methods for working on numbers. In general, you do not need to worry about Number objects because the browser automatically converts number literals to instances of the number class.

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

A JavaScript Number object can be defined using the Number constructor. Other types of data such as strings, etc., can be converted to numbers using Number() function.

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

A JavaScript number is always stored as a floating-point value (decimal number). JavaScript does not make a distinction between integer values and floating-point values. JavaScript represents numbers using the 64-bit floating-point format defined by the IEEE 754 standard.

Syntax

创建 number 对象的语法如下 -

The syntax for creating a number object is as follows −

const val = new Number(number);

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

In the place of number, if you provide any non-number argument, then the argument cannot be converted into a number, it returns NaN (Not-a-Number).

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

We can also create the number primitives by assigning the numeric values to the variables −

let num1 = 24;
let num2 = 35.65;

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

The JavaScript automatically converts the number primitive to the Number objects. So we can use all properties and methods of Number object on number primitives.

Number Properties

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

Here is a list of each property and their description.

Sr.No.

Property & Description

1

EPSILON It represents the difference between 1 and the smallest floating point number greater than 1.

2

MAX_SAFE_INTEGER It returns the maximum safe integer value.

3

MAX_VALUE The largest possible value a number in JavaScript can have 1.7976931348623157E+308.

4

MIN_SAFE_INTEGER It returns the minimum safe integer value.

5

MIN_VALUE The smallest possible value a number in JavaScript can have 5E-324.

6

NaN Equal to a value that is not a number.

7

NEGATIVE_INFINITY A value that is less than MIN_VALUE.

8

POSITIVE_INFINITY A value that is greater than MAX_VALUE

9

prototype A static property of the Number object. Use the prototype property to assign new properties and methods to the Number object in the current document.

10

constructor Returns the function that created this object’s instance. By default this is the Number object.

Number Methods

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

The Number object contains only the default methods (instance and static methods) that are a part of every object’s definition.

Instance Methods

Sr.No.

Method & Description

1

toExponential() Forces a number to display in exponential notation, even if the number is in the range of standard notation.

2

toFixed() Formats a number with a specific number of digits to the right of the decimal.

3

toLocaleString() Returns a string value version of the current number in a format that may vary according to local settings.

4

toPrecision() Defines how many total digits (including digits to the left and right of the decimal) to display of a number.

5

toString() Returns the string representation of the number’s value.

6

valueOf() Returns the number’s value.

Static Methods

Sr.No.

Method & Description

1

isNaN() It checks whether the value is a valid number or not.

2

isFinite() It checks whether the number is finite.

3

isInteger() Returns Boolean when the number is an integer value.

4

isSafeInteger() It ensures that the integer is a safe integer.

5

parseFloat() Parses the float value from the string.

6

parseInt() Parses the integer value from the string.

Examples

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

Let’s take a few examples to demonstrate the properties and methods of Number.

Example: Creating Number Object

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

In the example below, the num variable contains the number object having the value 20. In the output, you can see that type of the num variable is an object.

<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 属性。你应该尝试打印更多属性。

In the example below, we have displayed some Number properties. You should try to print more properties.

<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 属性。你可以尝试编辑程序以使用更多方法。

In the example below, we have used some properties of Number. You can try edit the program to use more methods.

<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() 函数将变量转换为数字。你可以使用它来更改变量的数据类型。

The Number() function converts the variable into a number. You can use it to change the data type of the variable.

let num = Number(val)

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

Here val is a variable or value to convert into a number. It doesn’t create a number object instead it returns a primitive value.

Example

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

We passed the integer and string value to the Number() function in the example below. In the output, the code prints the numeric values. The type of the num2 variable is a number, as the Number() function returns the primitive number value.

<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() 函数将数字字符串转换为数字。尝试以下示例:

We can use the Number() function to convert numeric strings to numbers. Try the following example −

<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

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

Try the above example with different numbers such as integers, floating point, octal, hexadecimal, etc.