首页 >web前端 >js教程 >如何仅在必要时才在 JavaScript 中将数字四舍五入到小数点后两位?

如何仅在必要时才在 JavaScript 中将数字四舍五入到小数点后两位?

DDD
DDD原创
2024-12-28 00:21:09611浏览

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