JavaScript - Number 对象



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

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

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

语法

创建 number 对象的语法如下 -


 const val = new Number(number);

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

我们还可以通过将数值分配给变量来创建数字基元 -


let num1 = 24;
let num2 = 35.65;

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

Number 属性

以下是每个属性及其描述的列表。

属性 描述
EPSILON

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

MAX_SAFE_INTEGER

它返回最大安全整数值。

MAX_VALUE

JavaScript 中数字的最大可能值可以是 1.7976931348623157E+308。

MIN_SAFE_INTEGER

返回最小安全整数值。

MIN_VALUE

JavaScript 中数字的最小可能值可以是 5E-324。

NaN

等于非数字的值。

NEGATIVE_INFINITY

小于 MIN_VALUE 的值。

POSITIVE_INFINITY

大于 MAX_VALUE 的值

prototype

Number 对象的 static 属性。使用 prototype 属性将新属性和方法分配给当前文档中的 Number 对象。

constructor

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

Number 方法

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

实例方法

方法 描述
toExponential()

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

toFixed()

将数字的格式设置为小数点右侧具有特定位数的数字。

toLocaleString()

返回当前数字的字符串值版本,其格式可能因本地设置而异。

toPrecision()

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

toString()

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

valueOf()

返回数字的值。

静态方法

方法 描述
isNaN()

检查该值是否为有效数字。

isFinite()

检查数字是否为有限。

isInteger()

当数字为整数值时,返回 Boolean。

isSafeInteger()

确保整数是安全的整数。

parseFloat()

解析字符串中的 float 值。

parseInt()

解析字符串中的整数值。

例子

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

示例:创建 Number 对象

在下面的示例中,num 变量包含值为 20 的 number 对象。在输出中,您可以看到 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 的一些属性。您可以尝试编辑程序以使用更多方法。


<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 对象,而是返回一个原始值。

在下面的示例中,我们将 integer 和 string 值传递给 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

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