JavaScript Number.isSafeInteger() 方法

Number 對象參考手冊 JavaScript Number 對象

實例

檢測參數是否是一個"安全整數":

Number.isSafeInteger(123); Number.isSafeInteger(-123); Number.isSafeInteger('123'); Number.isSafeInteger(5-2); Number.isSafeInteger(0); Number.isSafeInteger(0.5); Number.isSafeInteger(0/0);

嚐試一下 »

定義和用法

isSafeInteger() 方法用來判斷傳入的參數值是否是一個"安全整數"(safe integer),如果是安全整數返回 true,否則返回 false。

一個安全整數是一個符合下麵條件的整數:

  • 可以準確地表示為一個 IEEE-754 雙精度數字。
  • 其 IEEE-754 表示不能是舍入任何其他整數以適應 IEEE-754 表示的結果。

比如,2^53 - 1 是一個安全整數,它能被精確表示,在任何 IEEE-754 舍入模式(rounding mode)下,沒有其他整數舍入結果為該整數。作為對比,2^53 就不是一個安全整數,它能夠使用 IEEE-754 表示,但是 2^53 + 1 不能使用 IEEE-754 直接表示,在就近舍入(round-to-nearest)和向零舍入中,會被舍入為 2^53。

安全整數範圍為 -(2^53 - 1) 到 2^53 - 1 之間的整數,包含 -(2^53 - 1) 和 2^53 - 1。

Number.isSafeInteger(3);                    // true
Number.isSafeInteger(Math.pow(2, 53))       // false
Number.isSafeInteger(Math.pow(2, 53) - 1)   // true
Number.isSafeInteger(NaN);                  // false
Number.isSafeInteger(Infinity);             // false
Number.isSafeInteger("3");                  // false
Number.isSafeInteger(3.1);                  // false
Number.isSafeInteger(3.0);                  // true

瀏覽器支持

Number.isSafeInteger() 是 ECMAScript6 (ES6) 新特性。

基本上最新的瀏覽器版本都支持 ES6 (JavaScript 2015)。

Number.isSafeInteger() 不支持 Internet Explorer 11 及更早版本的瀏覽器。

Chrome Edge Firefox Safari Opera
Yes Yes Yes Yes Yes

語法

Number.isSafeInteger(value)

參數值

參數 描述
value 要檢測的值。

返回值

類型 描述
布爾型 如果是安全整數返回 true,否則返回 false。

技術細節

JavaScript 版本: ECMAScript 6

更多實例

實例

檢測參數是否為安全整數:

Number.isSafeInteger(Math.pow(2, 53)); Number.isSafeInteger(Math.pow(2, 53) - 1); Number.isSafeInteger(true); Number.isSafeInteger(false); Number.isSafeInteger(Infinity); Number.isSafeInteger(-Infinity);

嚐試一下 »

Number 對象參考手冊 JavaScript Number 對象