JavaScript Number isSafeInteger() 方法



JavaScript Number 的 isSafeInteger() 方法用于确定传递的值是否为安全整数。此方法如果数字是安全整数,则返回布尔值“true”;否则返回“false”。

什么是安全整数?

JavaScript 中安全整数的简单定义是在 IEEE-754 双精度数下我们可以表示的所有数字。它是介于 -(2^53) 到 (2^53)(不包括这两个数)之间所有数字的集合,我们可以用标准方式表示它。

语法

以下是 JavaScript Number isSafeInteger() 方法的语法:

Number.isSafeInteger(testValue)

参数

此方法接受一个名为“testValue”的参数。下面描述了该参数:

  • testValue − 要检查是否为安全整数的值。

返回值

如果数字是安全整数,则此方法返回“true”;否则返回“false”。

示例 1

以下程序演示了 JavaScript Number isSafeInteger() 方法的用法。如果我们不向其传递任何值,则此方法返回“false”

<html>
<head>
<title>JavaScript isSafeInteger() Method</title>
</head>
<body>
<script>
   //without an argument
   document.write("Result = ", Number.isSafeInteger());
   //output will be 'false'
</script>
</body>
</html>

输出

以上程序返回“false”。

Result = false

示例 2

如果传递的值是“安全整数”,则此方法返回“true”

以下程序使用Number.isSafeInteger()方法来检查“30”是否为安全整数。

<html>
<head>
<title>JavaScript isSafeInteger() Method</title>
</head>
<body>
<script>
   let value = 30;
   document.write("Given number = ", value);
   document.write("<br>Is number ", value , " is a 'safe ineter' ? ", Number.isSafeInteger(value));
</script>
</body>
</html>

输出

执行以上程序后,它将在输出中返回“true”。

Given number = 30
Is number 30 is a 'safe ineter' ? true

示例 3

当参数不是安全整数时,该方法返回“false”

这是 JavaScript Number isSafeInteger() 方法的另一个示例。我们通过将其作为参数传递给此方法来检查2 ** 53是否为安全整数。

<html>
<head>
<title>JavaScript isSafeInteger() Method</title>
</head>
<body>
<script>
   let value = 2 ** 53;
   document.write("Give value = ", value);
   document.write("<br>Is number ", value , " is a 'safe integer' ? ", Number.isSafeInteger(value));
</script>
</body>
</html>

输出

执行以上程序后,它将在输出中返回“false”。

Give value = 9007199254740992
Is number 9007199254740992 is a 'safe integer' ? false

示例 4

让我们看看当我们一次将“NaN”“Infinity”作为参数传递给此方法时会发生什么。

<html>
<head>
<title>JavaScript isSafeInteger() Method</title>
</head>
<body>
<script>
   let val1 = NaN;
   let val2 = Infinity;
   document.write("Values are: ", val1 , " and ", val2);
   document.write("<br>Is value '", val1 , "' is a 'safe integer' ? ", Number.isSafeInteger(val1));
   document.write("<br>Is value '", val2 , "' is a 'safe integer' ? ", Number.isSafeInteger(val2));
</script>
</body>
</html>

输出

当“NaN”或“Infinity”作为参数传递时,以上程序返回“false”。

Values are: NaN and Infinity
Is value 'NaN' is a 'safe integer' ? false
Is value 'Infinity' is a 'safe integer' ? false
广告