除法運算(/)返回一個浮點數(shù),即使被除數(shù)和除數(shù)都是整數(shù)。如果你想要獲取整數(shù)結(jié)果,需要使用額外的運算。在JavaScript中,如果你想在執(zhí)行除法操作時只得到整數(shù)結(jié)果,即去掉小數(shù)部分,你可以使用幾種不同的方法。每種方法都有其適用場景,你可以根據(jù)具體需求選擇最合適的方法。
javascript除法取整數(shù)的方法
在 JavaScript 中,除法后取整數(shù)有多種方法,以下是常見的幾種方式及其區(qū)別:
1. Math.floor()
作用:向下取整。
示例:
javascriptconsole.log(Math.floor(5 / 2)); // 輸出: 2console.log(Math.floor(-5 / 2)); // 輸出: -3(注意方向)
2. Math.ceil()
作用:向上取整。
示例:
javascriptconsole.log(Math.ceil(5 / 2)); // 輸出: 3console.log(Math.ceil(-5 / 2)); // 輸出: -2
3. Math.trunc()
作用:直接截斷小數(shù)部分。
示例:
javascriptconsole.log(Math.trunc(5 / 2)); // 輸出: 2console.log(Math.trunc(-5 / 2)); // 輸出: -2
4. parseInt()
作用:將字符串或數(shù)字轉(zhuǎn)換為整數(shù)。
示例:
javascriptconsole.log(parseInt(5 / 2)); // 輸出: 2console.log(parseInt(-5 / 2)); // 輸出: -2

5. 位運算 ~~ 或 | 0
作用:通過位運算快速截斷小數(shù)。
示例:
javascriptconsole.log(~~(5 / 2)); // 輸出: 2console.log((-5 / 2) | 0); // 輸出: -2
注意:超出 32 位整數(shù)范圍(如 2147483648)會導(dǎo)致結(jié)果錯誤。
6. 雙按位非
類似 Math.trunc(),但性能略優(yōu)(舊版瀏覽器中):
javascriptconsole.log(~~(3.7)); // 輸出: 3console.log(~~(-3.7)); // 輸出: -3
7. 四舍五入 Math.round()
作用:四舍五入到最接近的整數(shù)。
示例:
javascriptconsole.log(Math.round(5 / 2)); // 輸出: 3console.log(Math.round(-5 / 2)); // 輸出: -2
如何選擇?
需要向下取整 → Math.floor()
需要截斷小數(shù) → Math.trunc() 或 parseInt()
需要四舍五入 → Math.round()
高性能場景(32 位整數(shù)) → ~~ 或 | 0
示例對比
javascriptconst num = -5 / 2; // 結(jié)果為 -2.5console.log(Math.floor(num)); // -3console.log(Math.ceil(num)); // -2console.log(Math.trunc(num)); // -2console.log(parseInt(num)); // -2console.log(~~num); // -2console.log(Math.round(num)); // -2
在JavaScript中有多種方法可以執(zhí)行除法并取整。以上就是js中除法怎么取整數(shù)的值的詳細內(nèi)容,根據(jù)需求選擇合適的方法即可,跟著小編一起詳細了解下。