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>
输出
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>
输出
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.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>
输出
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>
输出
typeof num = number
尝试上面的示例,使用不同的数字,例如整数、浮点、八进制、十六进制等。