如何在JavaScript中判斷一個數字是否為安全整數?
JavaScript 提供了一個 `Number.isSafeInteger()` 方法來檢查給定的數字是否為安全整數。如果整數是安全的,則返回 `true`,否則返回 `false`。
JavaScript 對數字有一些限制,任何數字都應該符合 SCNF(標準計算機網路格式)。如果數字違反了規則,則它不是安全整數。
之所以存在此限制,是因為JavaScript 使用 `IEEE 754` 標準中指定的雙精度浮點數格式,並且只能安全地表示介於 `−(2^53-1)` 和 `(2^53-1)` 之間的整數。
示例 1
在下面的示例中,我們檢查兩個數字是否安全。number1 超出了範圍,即不安全,輸出結果為 `false`。number2 在範圍內,即安全,輸出結果為 `true`。
<!DOCTYPE html>
<html>
<body>
<script>
const number1 = Number.isSafeInteger(-Math.pow(2,53)-3);
document.write(number1 + "<br>");
const number2 = Number.isSafeInteger(-253);
document.write(number2);
</script>
</body>
</html>
示例 2
在下面的示例中,我們傳遞一個整數陣列,並檢查給定元素是否安全。
<!DOCTYPE html>
<html>
<body>
<script>
const arr = [15, 20, 30, 40, -100, -500];
document.write("{");
for (let index = 0; index < arr.length; index++) {
document.write(Number.isSafeInteger(arr[index]) + " ");
}
document.write("}");
</script>
</body>
</html>
示例 3
在下面的示例中,不支援浮點型資料型別。如果將浮點值作為引數傳遞,則結果為 `false`。`isSafeInteger()` 方法只支援其範圍內的整數值,否則返回 `false`。
<html>
<body>
<script>
const number1 = Number.isSafeInteger(-0.567);
document.write(number1 + " ");
const number2 = Number.isSafeInteger(-253.0345);
document.write(" " + number2 + " ");
const number3 = Number.isSafeInteger(5.583);
document.write(" " + number3);
const number4 = Number.isSafeInteger(0 / 0);
document.write(" " + number4 + " ");
const number5 = Number.isSafeInteger(6 - 2);
document.write(" " + number5 + " ");
const number6 = Number.isSafeInteger(0);
document.write(" " + number6);
</script>
</body>
</html>
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP