如何在 JavaScript 中将 Infinity 转换为数字?
一个简单的包装器对象是数字。使用Number函数Object() { [native code] } 时,可以使用许多方法和常量。Number()方法可用于将不同类型的数值转换为数字。JavaScript 使用IEEE 754双精度 64 位二进制值类型。这意味着它可以表示分数值,但它可以容纳的数据量是有限制的。
算术运算容易出现舍入误差,一个数字最多只能保留大约 17 位小数的精度。一个 Number 的最大值大约为 1.8E308。更高的值将被唯一的 Number 常量 Infinity 替换。在 JavaScript 代码中,数字字面量指的是浮点值,而不是整数。目前没有使用单独的整数类型。
在本教程中,我们将学习如何在 JavaScript 中将 Infinity 转换为布尔值。此外,在本教程中,我们还有不同的方法来实现我们的目标。
使用 Number() 方法
这种方法将演示如何使用 Number 对象将 Infinity 值转换为数字。您可以使用 JavaScript number 对象显示数值,它可以是浮点数或整数。JavaScript number 对象遵循IEEE标准来表示浮点数。如果值无法转换,则返回NaN。
语法
用户可以按照以下语法使用 Number() 方法。
var n=new Number( value );
参数
value − 传递给 Number 对象的参数,将确定其数字值
示例
下面的示例演示了如何使用 Number() 对象将 Infinity 值转换为数字。在这里,我们声明了两个对象myVal和val,它们分别取值 Infinity 和 -Infinity。这两个都是 Infinity 值,当通过 Number 对象传递时,都返回 Infinity。
<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;
示例
在下面的示例中,我们使用了按位非运算符将 Infinity 转换为数字数据类型。按位非运算符用于反转操作数的位,然后 Number() 对象更改 ((0-18)/0*100) 的值,该值变为 Infinity。此值正在传递给 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>
在上面的输出中,我们看到了如何将通过计算获得的 Infinity 值转换为数值。结果的数据类型已获得为 Number。
显式类型转换
在编程中,将数据从一种类型转换为另一种类型称为类型转换。根据您的需要,您也可以在其他数据类型之间进行转换。显式类型转换是您手动执行的类型转换。
语法
if (result == Number.POSITIVE_INFINITY || result == Number.NEGATIVE_INFINITY)
{
result=0;
}
示例
在这个例子中,我们将看到如何使用显式类型转换将 Infinity 值转换为数字。变量result存储一个计算结果为 Infinity 的值。使用 if 条件,我们检查该结果是正 Infinity 还是负 Infinity。然后该值将类型转换为整数 0。0 的数据类型被发现为 Number,该值与result一起打印在用户的屏幕上。
<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>
在上面的示例中,我们看到了如何将通过计算获得的 Infinity 值转换为数值。还获得了数字的数据类型。
本教程使用了三种方法将 Infinity 值转换为数字数据类型。全局对象的属性或具有全局作用域的变量是 Infinity。JavaScript 使用名为 Number 的基本数据类型来表示正整数、负整数、浮点数、二进制数、八进制数、十六进制数和指数值。
第一种方法使用简单的 Number() 对象将正 Infinity 和负 Infinity 的值转换为数字数据类型。第二种方法使用按位非运算符将 Infinity 计算结果转换为 0 的数字数据类型。第三种方法展示了如何在计算出的 Infinity 结果上实现显式类型转换。
数据结构
网络
关系型数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP