在JavaScript中,我們可以使用不同的方法從文本字段中獲取整數(shù)。使用parseInt()函數(shù),這是一種常見的方法,可以將字符串轉(zhuǎn)換為整數(shù)。parseInt()函數(shù)接受兩個參數(shù):要轉(zhuǎn)換的字符串和一個可選的進制數(shù)。如果不指定進制數(shù),parseInt()默認將使用十進制。
javascript怎么取整數(shù)?
1. 取整數(shù)的方法
(1) 向下取整
javascriptlet num = 3.7;let floor = Math.floor(num); // 3(向小取整)let trunc = Math.trunc(num); // 3(直接截斷小數(shù))let parseInt = parseInt(num); // 3(字符串轉(zhuǎn)整數(shù),不推薦用于純數(shù)值)
(2) 其他取整方式
javascriptlet ceil = Math.ceil(3.2); // 4(向大取整)let round = Math.round(3.5); // 4(四舍五入)
(3) 位運算
javascriptlet bitwise = 3.9 | 0; // 3(按位或0,效果同Math.trunc)// 注意:位運算會丟棄小數(shù)部分,但僅適用于 ±2^31 范圍內(nèi)的數(shù)。
js如何判斷一個數(shù)是否為整數(shù)?
(1) 使用 Number.isInteger()
javascriptNumber.isInteger(42); // trueNumber.isInteger(3.14); // falseNumber.isInteger("123"); // false(字符串返回false)
(2) 取模運算
javascriptfunction isInteger(n) {return n % 1 === 0;}isInteger(5); // trueisInteger(5.0); // true(注意:5.0 實際是整數(shù))isInteger("5"); // false(隱式轉(zhuǎn)換可能意外通過,不推薦)
(3) 結(jié)合 typeof 和取整比較
javascriptfunction isStrictInteger(n) {return typeof n === 'number' && n % 1 === 0;}isStrictInteger(42); // trueisStrictInteger('42'); // false
關(guān)鍵區(qū)別
取整:Math.floor/Math.trunc 是顯式方法,位運算和 parseInt 有局限性。
判斷整數(shù):優(yōu)先用 Number.isInteger(),避免隱式類型轉(zhuǎn)換的陷阱(如 "123" % 1 === 0 會返回 true)。
示例代碼
javascript// 取整示例let num = -2.9;console.log(Math.floor(num)); // -3console.log(Math.trunc(num)); // -2// 判斷整數(shù)示例console.log(Number.isInteger(10)); // trueconsole.log(Number.isInteger(10.5)); // falseconsole.log(Number.isInteger("10")); // false
JavaScript 提供多種方式獲取數(shù)值的整數(shù)部分,無論使用哪種方法,都要注意輸入文本字段的格式和可能的邊界情況,以確保獲得正確的整數(shù)值,跟著小編一起詳細了解下。