JavaScriptで数値が整数かどうかチェックする方法
数値が整数かどうか判断するには、Number.isInteger
メソッドを使います。 整数であればtrue
、そうでなければfalse
を返します。
Number.isIntegerメソッドの使い方
Number.isInteger
メソッドは、JavaScriptで数値が整数かどうかを判定するための組み込み関数です。引数として任意の数値を取り、その数値が整数であればtrue
を、そうでなければfalse
を返します。
基本的な使い方
以下の例は、Number.isInteger
の基本的な使い方を示しています。
console.log(Number.isInteger(10)); // true
console.log(Number.isInteger(10.5)); // false
console.log(Number.isInteger("10")); // false
console.log(Number.isInteger(NaN)); // false
Number.isIntegerメソッドの特徴
Number.isInteger
メソッドにはいくつかの特徴があります。
- 数値以外の入力に対しては常に
false
を返します。 NaN
やInfinity
もfalse
を返します。- 浮動小数点数には対応しておりません。
その他の整数判定方法
条件によっては他に整数かどうかを判断する方法もあります。例えば、数値の小数部分をチェックする方法があります。
function isInteger(value) {
return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
}
console.log(isInteger(10)); // true
console.log(isInteger(10.5)); // false
関連する質問と回答
質問 | 回答 |
---|---|
Q1: Number.isInteger はなぜ数値以外でfalse を返すのですか? |
A1: Number.isInteger は、入力が厳密に数値型であることを確認するために、数値以外の型に対してfalse を返します。 |
Q2: parseInt やMath.floor で整数化した値を使っても同じですか? |
A2: これらのメソッドは数値を整数に変換しますが、元の値が整数かどうかを正確に判定するのには適しません。例えば、10.5 をparseInt で処理しても10 に切り捨てるだけです。 |
Q3: このメソッドは全てのJavaScriptバージョンで利用可能ですか? | A3: Number.isInteger はES6(ECMAScript 2015)で導入されました。それ以前のバージョンでは利用できない場合があります。 |
その他の参考記事:javascript 数字 チェック