
1. JavaScript截取整數(shù)
在 JavaScript 中,如果你想要截取一個數(shù)字的小數(shù)部分并只保留整數(shù)部分,可以使用幾種不同的方法。以下是幾種常見的做法:
1.1. 使用 Math.floor()
Math.floor()
方法返回小于或等于給定數(shù)字的最大整數(shù)。對于正數(shù)和負數(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ù)。對于正數(shù)和負數(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ù)字將被舍入到下一個較高的整數(shù);否則,它將被舍入到下一個較低的整數(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ù)部分而不進行任何舍入操作。對于正數(shù)和負數(shù)都是簡單的去除小數(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. 使用雙位非運算符(~~
)
這是一個位運算符技巧,它可以用來快速截斷小數(shù)部分。請注意,這個方法并不是為處理浮點數(shù)而設(shè)計的,而且在某些情況下可能會導致意外的結(jié)果,特別是在處理非常大的數(shù)字時。因此,推薦使用上述標準方法。
let num = 5.7;
let intPart = ~~num;
console.log(intPart); // 輸出: 5
1.6. 使用 parseInt()
parseInt()
函數(shù)解析一個字符串并返回一個整數(shù)。當傳遞的是數(shù)字時,它也會去掉小數(shù)部分。需要注意的是,parseInt
主要用于解析字符串,而不是處理數(shù)字值。
let num = 5.7;
let intPart = parseInt(num, 10); // 第二個參數(shù)指定進制
console.log(intPart); // 輸出: 5
選擇哪種方法取決于你的具體需求以及你希望如何處理正數(shù)、負數(shù)以及是否需要遵循特定的舍入規(guī)則。
對于簡單地去除小數(shù)部分的情況,Math.trunc()
是一種清晰且高效的選擇。
閱讀原文:原文鏈接
該文章在 2025/3/24 16:49:36 編輯過