- Home ›
- JavaScript入門 ›
- 数値
値が整数かどうかを調べる(Number.isInteger, Number.isSafeInteger)
Number オブジェクトの静的メソッドである Number.isInteger は、対象の値が整数かかどうかを調べ true または false を返します。また Number.isSafeInteger は、対象の値が安全な整数かどうかを調べ true または false を返します。ここでは Number オブジェクトの Number.isInteger メソッドおよび Number.isSafeInteger メソッドの使い方について解説します。
(Last modified: )
整数がどうかを調べる(isInteger)
Number オブジェクトの Number.isInteger メソッドは、対象の値が整数かどうかを調べて true または false を返します。書式は次の通りです。
Number.isInteger(値)
引数に指定した値が整数かどうかを調べます。値が整数であれば true 、それ以外は false を返します。値が数値型ではない場合はすべて false となります。
次のサンプルをみてください。
Number.isInteger(428); >> true Number.isInteger(16.5); >> true Number.isInteger(16.0); >> true Number.isInteger(NaN); >> false Number.isInteger(Infinity); >> false
整数については true 、 浮動小数点数については false 、 NaN や Infinity も false となります。
値が数値型でない場合はすべて false となります。
Number.isInteger('78'); >> false Number.isInteger(true); >> false Number.isInteger(undefined); >> false Number.isInteger([10]); >> false
安全な整数がどうかを調べる(isSafeInteger)
Number オブジェクトの Number.isSafeInteger メソッドは、対象の値が安全な整数かどうかを調べて true または false を返します。書式は次の通りです。
Number.isSafeInteger(値)
引数に指定した値が安全な整数かどうかを調べます。値が安全な整数であれば true 、それ以外は false を返します。値が数値型ではない場合はすべて false となります。
安全な整数とは難しい言葉になりますが正確に IEEE-754 倍精度数として表すことができ、別の値を IEEE-754 倍精度数として表した値と一致することがない値です。具体的には -(253 - 1) 以上 253 - 1 以下の整数値です (-9007199254740991 以上 9007199254740991 以下の整数値です)。
次のサンプルをみてください。
Number.isSafeInteger(87462); >> true Number.isSafeInteger(-665212234); >> false Number.isSafeInteger(Math.pow(2, 53) - 1); >> true Number.isSafeInteger(Math.pow(2, 53)); >> false
安全な整数の範囲内の整数であれば true 、 安全な整数の範囲を超えた場合は false となります。
NaN や Infinity については false 、値が数値型でない場合はすべて false となります。
Number.isSafeInteger(NaN); >> false Number.isSafeInteger(Infinity); >> false Number.isSafeInteger('1800'); >> false Number.isSafeInteger(undefined); >> false
-- --
Number オブジェクトの Number.isInteger メソッドおよび Number.isSafeInteger メソッドの使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。