在 JavaScript 中,Infinity 如何转换为 Number?

htmljavascriptprogramming scripts

一个简单的包装器对象是 number。使用 Number 函数 Object() { [native code] } 时,有许多方法和常量可用。Number() 方法可用于将不同类型的值转换为数字。JavaScript 中使用 IEEE 754 双精度 64 位二进制值类型。这表明它可以表示小数值,但它可以容纳的数据量受到限制。

算术容易受到舍入的影响,数字仅保留大约 17 位小数的精度。Number 的最大值为 1.8E308 左右。更高的值将由唯一的数字常量 Infinity 替换。JavaScript 代码中的数字文字是指浮点值,而不是整数。目前没有使用不同的整数类型。

在本教程中,我们将学习如何在 JavaScript 中将无穷大转换为布尔值。此外,我们在本教程中有不同的方法来实现我们的目标。

使用 Number() 方法

此方法将了解如何使用 Number 对象将无穷大值转换为数字。您可以使用 JavaScript 数字对象显示数值,该对象可能是浮点数或整数。IEEE 标准遵循 JavaScript 数字对象来表示浮点数。如果无法转换该值,则返回 NaN

语法

用户可以按照以下语法使用 Number() 方法。

var n=new Number( value );

参数

  • value − 传递给 Number 对象的参数,该对象的 Number 值将被确定

示例

以下示例演示如何使用 Number() 对象将无穷大值转换为 Number。在这里,我们声明两个对象 myValval,它们接受两个值无穷大和 –无穷大。这两个都是无穷大值,在通过 Number 对象传递时返回无穷大。

<html> <body> <h2>Convert Infinity to Number</h2> <script> var myVal = Infinity; document.write("Number of +infinity: " + Number(myVal)); document.write("<br>") var val = -Infinity; document.write("Number of -infinity: " + Number(val)); </script> </body> </html>

在上面的输出中,用户可以看到 Number 中 +infinity 的值与 +infinity 相同,–infinity 的值与 -infinity 相同。这些值是从 Number 对象中获取的。

使用按位非运算符

其操作数的位由按位非运算符 (~) 取反。操作数被转换为 32 位有符号整数,就像其他按位运算符一样。操作数表示为一组位,并转换为 32 位有符号整数(零和一)。超过 32 位的数字的最重要的位被消除。

语法

我们可以按照以下语法转换按位非 (~) 运算符。

let r = ~a;

示例

在下面的示例中,我们使用按位非运算符将无穷大转换为数字数据类型。按位非运算符用于反转操作数的位,然后 Number() 对象更改 ((0-18)/0*100) 的值,使其变为无穷大。此值被传递给 toFixed() 方法,因此只传递值的 2 个有效数字,因此变量存储的值是 0,即数字。

<html> <body> <h2>Convert Infinity to Number</h2> <script> var result = ~~Number((((0-18)/0)*100).toFixed(2)); document.write("Data type: "); document.write(typeof(result)); document.write("<br>"); document.write(" Infinity to Number: "+result); </script> </body> </html>

在上面的输出中,我们看到了如何将计算得到的无穷大值转换为数字值。结果的数据类型为 Number。

显式类型转换

将数据从一种类型转换为另一种类型的过程在编程中称为类型转换。根据您的需要,您还可以在其他数据类型之间进行转换。显式类型转换是您执行的手动类型转换。

语法

if (result == Number.POSITIVE_INFINITY || result == Number.NEGATIVE_INFINITY)
{
	result=0;
}

示例

在此示例中,我们将看到如何使用显式类型转换将无穷大值转换为数字。变量 result 存储导致无穷大的计算。使用 if 条件,我们检查结果是正无穷还是负无穷。然后该值的类型转换为整数 0。0 的数据类型为数字,并且该值与 结果 一起打印在用户的屏幕上。

<html> <body> <h2>Convert Infinity to Number</h2> <script> var result = Number((((0-18)/0)*100).toFixed(2)); if (result == Number.POSITIVE_INFINITY || result == Number.NEGATIVE_INFINITY) { result=0; document.write("Data type: "); document.write(typeof(result)); document.write("<br>"); document.write(" Infinity to Number: "+ result); } </script> </body> </html>

在上面的例子中,我们看到了如何将通过计算获得的无穷大值转换为数字值。数字的数据类型也得到了获得。

本教程使用了三种方法将无穷大值转换为数字数据类型。全局对象的属性或具有全局范围的变量是无穷大。JavaScript 使用称为 Number 的基本数据类型来表示正整数或负整数、浮点数、二进制、八进制、十六进制和指数值。

第一种方法使用简单的 Number() 对象将正无穷大和负无穷大的值转换为数字数据类型。第二种方法使用按位 NOT 运算符将无穷大计算转换为数字数据类型 0。第三种方法展示了如何在计算出的无穷大结果上实现显式类型转换。


相关文章