JavaScriptで整数かどうかを判断する方法

青灯夜游
リリース: 2023-01-03 09:31:52
オリジナル
3603 人が閲覧しました

方法: 1. 剰余演算子を使用して決定します; 2. "Math.round"、"Math.ceil"、および "Math.floor" メソッドを使用して決定します; 3. parseInt 関数を使用して判定する ; 4.ビット演算で判定する; 5.「Number.isInteger」を使って判定する。

JavaScriptで整数かどうかを判断する方法

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

方法 1. 剰余演算子を使用して、任意の整数が 1 で割り切れる、つまり剰余が 0 であることを決定します。このルールを使用して、整数かどうかを判断します。

function isInteger(obj) {
 return obj%1 === 0
}

isInteger(3) // true
isInteger(3.3) // false 

isInteger('') // true
isInteger('3') // true
isInteger(true) // true
isInteger([]) // true
ログイン後にコピー

空の文字列、文字列型の数値、ブール値の true、および空の配列の場合は true を返します。これらの型の内部変換の詳細に興味がある場合は、「JavaScript の奇妙な False 値」を参照してください。したがって、typeof

function isInteger(obj) {
 return typeof obj === 'number' && obj%1 === 0
}

isInteger('') // false
isInteger('3') // false
isInteger(true) // false
isInteger([]) // false
ログイン後にコピー
を追加するなど、最初にオブジェクトが数値であるかどうかを判断する必要があります。

方法 2、Math.round、Math.ceil、および Math.floor を使用して、

整数が四捨五入後もそれ自体と等しいかどうかを判断します。この機能を使用して、整数であるかどうかを判断します。Math.floor の例は次のとおりです。

function isInteger(obj) {
 return Math.floor(obj) === obj
}


isInteger(3) // true
isInteger(3.3) // false
isInteger('') // false
isInteger('3') // false
isInteger(true) // false
isInteger([]) // false
ログイン後にコピー
[推奨学習:

js 基本チュートリアル

]

メソッド3. parseInt による判定

function isInteger(obj) {
 return parseInt(obj, 10) === obj
}

isInteger(3) // true
isInteger(3.3) // false
isInteger('') // false
isInteger('3') // false
isInteger(true) // false
isInteger([]) // false、

//很不错,但也有一个缺点
isInteger(1000000000000000000000) // false
ログイン後にコピー

理由は、parseInt が整数を解析する前に最初のパラメータを強制的に文字列に解析するためです。数値を整数に変換するこの方法は、良い選択ではありません。

方法 4. ビット操作で決定する

function isInteger(obj) {
 return (obj | 0) === obj
}

isInteger(3) // true
isInteger(3.3) // false
isInteger('') // false
isInteger('3') // false
isInteger(true) // false
isInteger([]) // false

//这个函数很不错,效率还很高。但有个缺陷,上文提到过,位运算只能处理32位以内的数字,对于超过32位的无能为力
isInteger(Math.pow(2, 32)) // 32位以上的数字返回false了
ログイン後にコピー

方法 5. ES6 は Number.isInteger を提供します

Number.isInteger(3) // true
Number.isInteger(3.1) // false
Number.isInteger('') // false
Number.isInteger('3') // false
Number.isInteger(true) // false
Number.isInteger([]) // false
ログイン後にコピー

詳細 プログラミング用関連知識については、プログラミング ビデオ をご覧ください。 !

以上がJavaScriptで整数かどうかを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート