如何在 JavaScript 中检查一个值是否为安全整数?
在本教程中,我们将学习如何在 JavaScript 中检查一个值是否为安全整数。JavaScript 中安全整数的简单定义是我们在IEEE-754 双精度数下可以表示的所有数字。它是所有介于-(2^53) 到 (2^53)(不包括这两个数)之间的数字的集合,我们可以用标准的方式表示它。
这里,我们有不同的方法来检查一个数字是否为安全整数。
使用 Number.IsSafeInteger() 方法
使用 if-else 条件语句
使用 Number.isSafeInteger() 方法
在 JavaScript 中,isSafeInteger() 方法检查值的数据类型是否为数字,并且是否在 -(2^53) 到 (2^53) 之间。我们可以将不同的值作为该方法的参数传递,它返回布尔值作为结果。如果该数字是安全整数,则返回 true,否则返回 false。
语法
用户可以使用以下语法使用 isSafeInteger() 方法
let isSafe = Number.isSafeInteger(value);
参数
value − 它是任何变量的值,用户希望检查该值是否为安全整数。
示例
在下面的示例中,我们使用了Number.isSafeInteger() 方法来检查该值是否为安全整数。我们对不同的值进行了检查,例如布尔值、字符串、浮点数和整数
<html> <head> </head> <body> <h2>Check if value is safe Integer or not in JavaScript.</h2> <h4>Check if value is safe Integer or not using <i> isSafeInteger() </i> method.</h4> <div id = "output"></div> <script> var output = document.getElementById("output"); let value = 1000; let isSafe = Number.isSafeInteger(value); output.innerHTML += "1000 is safe Integer : " + isSafe + " <br/> "; output.innerHTML += "true is safe Integer : " + Number.isSafeInteger(true) + " <br/> "; output.innerHTML += "'Hello' is safe Integer : " + Number.isSafeInteger("hello") + " <br/> "; output.innerHTML += "Math.pow(2,53) is safe Integer : " + Number.isSafeInteger(Math.pow(2, 53)) + " <br/> "; output.innerHTML += "123.43 is safe Integer : " + Number.isSafeInteger(123.43) + " <br/> "; output.innerHTML += "-90 is safe Integer : " + Number.isSafeInteger(-90) + " <br/> "; </script> </body> </html>
使用 if-else 条件语句
在这种方法中,我们将简单地使用 if-else 语句来检查该值的数据类型是否为数字。如果该值是数字,我们将检查它是否在 -(2^53) 到 (2^53) 之间。这是基于 isSafeInteger() 方法的自定义逻辑,它返回布尔输出。
语法
使用 if-else 语句检查值是否为安全整数的语法如下所示。
if ( typeof value === 'number' && -Math.pow(2, 53) < value && Math.pow(2, 53) > value ) { // value is safe integer } else { // value is not safe integer }
示例
在下面的示例中,我们简单地实现了上述方法。我们创建了一个名为 safeInteger() 的函数,该函数根据上面解释的方法检查安全整数并返回布尔值。
<html> <head> </head> <body> <h2>Check if value is safe Integer or not in JavaScript.</h2> <h4>Check if value is safe Integer or not using <i> if-else</i> statement.</h4> <div id = "output"></div> <script> var output = document.getElementById("output"); function safeInteger(value) { if ( typeof value === 'number' && -Math.pow(2, 53) < value &&Math.pow(2, 53) > value ) { return true; } else { return false; } } output.innerHTML += " safeInteger (-90) : " + safeInteger(-90) + " <br/> "; output.innerHTML += " safeInteger (true) : " + safeInteger(true) + " <br/> "; output.innerHTML += " safeInteger ('yes') : " + safeInteger('yes') + " <br/> "; output.innerHTML += " safeInteger (123.6543) : " + safeInteger(123.6543) + " <br/> "; </script> </body> </html>
我们学习了两种不同的方法来检查一个值是否为安全整数。在第一种方法中,我们使用了内置方法;在第二种方法中,我们从头开始实现了第一种方法。