![]()
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 数字 チェック