如何在 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>

我们学习了两种不同的方法来检查一个值是否为安全整数。在第一种方法中,我们使用了内置方法;在第二种方法中,我们从头开始实现了第一种方法。

更新于: 2022年8月8日

501 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告