ホームページ > 記事 > ウェブフロントエンド > JavaScriptで整数かどうかを判断する方法
方法: 1. 剰余演算子を使用して決定します; 2. "Math.round"、"Math.ceil"、および "Math.floor" メソッドを使用して決定します; 3. parseInt 関数を使用して判定する ; 4.ビット演算で判定する; 5.「Number.isInteger」を使って判定する。
このチュートリアルの動作環境: 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
[推奨学習:
]
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 サイトの他の関連記事を参照してください。