首頁 >web前端 >js教程 >如何在必要時才在 JavaScript 中將數字四捨五入到小數點後兩位?

如何在必要時才在 JavaScript 中將數字四捨五入到小數點後兩位?

DDD
DDD原創
2024-12-28 00:21:09612瀏覽

How to Round Numbers to Two Decimal Places in JavaScript Only When Necessary?

將數字四捨五入到兩位小數:必要時

如果您希望將數字四捨五入到最多兩位小數,但僅在必要時,這裡有兩個JavaScript中有效的方法:

1.使用Math.round():

Math.round(num * 100) / 100

此方法將數字乘以100,將小數點向右移動兩位,使用Math.round()對結果進行四捨五入,然後除以100 將小數點移回原來的位置。

2.使用Number.EPSILON 進行精確度:

Math.round((num + Number.EPSILON) * 100) / 100

此方法更精確,特別是像1.005 這樣的數字,由於浮點精度問題,可能會被以前的方法錯誤地捨入。它在乘法和舍入之前添加一個小數字 (Number.EPSILON),確保不會發生舍入錯誤。

用法範例:

const numbers = [10, 1.7777777, 9.1];
const roundedNumbers = numbers.map(num => {
  return num === Math.floor(num)
    ? num
    : Math.round(num * 100) / 100;
});

console.log(roundedNumbers); // Output: [10, 1.78, 9.1]

在此範例中,僅當數字有小數部分時,才四捨五入到小數點後兩位。 10 保持不變,因為它已經是一個整數。

以上是如何在必要時才在 JavaScript 中將數字四捨五入到小數點後兩位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn