
1. JavaScript截取整數(shù)
在 JavaScript 中,如果你想要截取一個(gè)數(shù)字的小數(shù)部分并只保留整數(shù)部分,可以使用幾種不同的方法。以下是幾種常見(jiàn)的做法:
1.1. 使用 Math.floor()
Math.floor()
方法返回小于或等于給定數(shù)字的最大整數(shù)。對(duì)于正數(shù)和負(fù)數(shù)都適用,但是它總是向下舍入。
let num = 5.7;
let intPart = Math.floor(num);
console.log(intPart); // 輸出: 5
num = -5.7;
intPart = Math.floor(num);
console.log(intPart); // 輸出: -6
1.2. 使用 Math.ceil()
Math.ceil()
方法返回大于或等于給定數(shù)字的最小整數(shù)。對(duì)于正數(shù)和負(fù)數(shù)都適用,但它總是向上舍入。
let num = 5.3;
let intPart = Math.ceil(num);
console.log(intPart); // 輸出: 6
num = -5.3;
intPart = Math.ceil(num);
console.log(intPart); // 輸出: -5
1.3. 使用 Math.round()
Math.round()
方法四舍五入到最接近的整數(shù)。如果小數(shù)部分是 .5 或更大,則數(shù)字將被舍入到下一個(gè)較高的整數(shù);否則,它將被舍入到下一個(gè)較低的整數(shù)。
let num = 5.5;
let intPart = Math.round(num);
console.log(intPart); // 輸出: 6
num = 5.4;
intPart = Math.round(num);
console.log(intPart); // 輸出: 5
1.4. 使用 Math.trunc()
Math.trunc()
方法直接移除數(shù)字的小數(shù)部分而不進(jìn)行任何舍入操作。對(duì)于正數(shù)和負(fù)數(shù)都是簡(jiǎn)單的去除小數(shù)部分。
let num = 5.9;
let intPart = Math.trunc(num);
console.log(intPart); // 輸出: 5
num = -5.9;
intPart = Math.trunc(num);
console.log(intPart); // 輸出: -5
1.5. 使用雙位非運(yùn)算符(~~
)
這是一個(gè)位運(yùn)算符技巧,它可以用來(lái)快速截?cái)嘈?shù)部分。請(qǐng)注意,這個(gè)方法并不是為處理浮點(diǎn)數(shù)而設(shè)計(jì)的,而且在某些情況下可能會(huì)導(dǎo)致意外的結(jié)果,特別是在處理非常大的數(shù)字時(shí)。因此,推薦使用上述標(biāo)準(zhǔn)方法。
let num = 5.7;
let intPart = ~~num;
console.log(intPart); // 輸出: 5
1.6. 使用 parseInt()
parseInt()
函數(shù)解析一個(gè)字符串并返回一個(gè)整數(shù)。當(dāng)傳遞的是數(shù)字時(shí),它也會(huì)去掉小數(shù)部分。需要注意的是,parseInt
主要用于解析字符串,而不是處理數(shù)字值。
let num = 5.7;
let intPart = parseInt(num, 10); // 第二個(gè)參數(shù)指定進(jìn)制
console.log(intPart); // 輸出: 5
選擇哪種方法取決于你的具體需求以及你希望如何處理正數(shù)、負(fù)數(shù)以及是否需要遵循特定的舍入規(guī)則。
對(duì)于簡(jiǎn)單地去除小數(shù)部分的情況,Math.trunc()
是一種清晰且高效的選擇。
閱讀原文:原文鏈接
該文章在 2025/3/24 16:49:36 編輯過(guò)