在Javascript中,判斷一個數(shù)是否為整數(shù)一直是一個比較常見的問題。在開發(fā)過程中,我們通常會留意一些特定的場景,比如輸入框中只允許輸入整數(shù)等。下面將介紹幾種Javascript中判定整數(shù)的方法。
第一種方法是使用parseInt()函數(shù)。該函數(shù)可以將字符串轉(zhuǎn)換為整數(shù),轉(zhuǎn)換后小數(shù)位默認(rèn)為0。如果轉(zhuǎn)換后的結(jié)果不是一個整數(shù),則返回NaN。我們可以通過判斷返回值是否是NaN來判定一個數(shù)是否為整數(shù)。
function isInt(num) { return parseInt(num) === num; }
測試代碼:
console.log(isInt(1)); // true console.log(isInt(1.1)); // false console.log(isInt('1')); // true console.log(isInt('1.1')); // false
第二種方法是使用Math.floor()函數(shù)。Math.floor(num)會將數(shù)值向下取整,得到一個整數(shù)。如果num本身就是一個整數(shù),則不受影響,返回該整數(shù)本身。我們可以判斷該數(shù)是否等于原數(shù),從而判定一個數(shù)是否為整數(shù)。
function isInt(num) { return Math.floor(num) === num; }
測試代碼:
console.log(isInt(1)); // true console.log(isInt(1.1)); // false console.log(isInt('1')); // true console.log(isInt('1.1')); // false
第三種方法是使用正則表達式。通過判斷一個數(shù)是否匹配正則表達式“^-?\d+$”,該正則表達式表示一個可帶正負(fù)號的整數(shù)。如果匹配成功,則判定為整數(shù)。
function isInt(num) { return /^-?\d+$/.test(num); }
測試代碼:
console.log(isInt(1)); // true console.log(isInt(1.1)); // false console.log(isInt('1')); // true console.log(isInt('1.1')); // false
第四種方法是使用Number.isInteger()函數(shù)。該函數(shù)可以判斷一個數(shù)是否為整數(shù),如果是整數(shù),則返回true,否則返回false。
function isInt(num) { return Number.isInteger(num); }
測試代碼:
console.log(isInt(1)); // true console.log(isInt(1.1)); // false console.log(isInt('1')); // false console.log(isInt('1.0')); // true
以上是四種常用的Javascript判定整數(shù)的方法。在實際開發(fā)中,我們可以根據(jù)具體需求選擇合適的方法來判定整數(shù)。