必要時將數字四捨五入到小數點後兩位
處理數值資料時,通常需要將數值四捨五入到指定的小數位。但是,在某些情況下,我們只想在值尚未舍入到所需精度時進行舍入。
考慮以下場景:您希望將數字舍入到最多兩位小數,但僅在必要時進行。例如:
Input: 10 1.7777777 9.1 Output: 10 1.78 9.1
使用Math.round()
一個可能的解決方案是使用Math.round() 方法:
let roundedNum = Math.round(num * 100) / 100;
此方法將數字乘以100,然後將其四捨五入為整數(有效地將小數點向右移動兩位數)然後除以 100 以保留兩位小數的值。
使用 Number.EPSILON
但是,這種方法無法正確處理邊界情況。例如,1.005 將四捨五入為 1.01,而不是 1.00。為了解決這個問題,我們可以用 Number.EPSILON:
let roundedNum = Math.round((num + Number.EPSILON) * 100) / 100;
Number.EPSILON 表示兩個浮點數之間被認為有效的最小差異。將其加到數字中可確保該值正確舍入,即使在邊界情況下也是如此。
以上是如何在 JavaScript 中將數字精確舍入小數點後兩位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!