显示最多两位小数位的数字,不带尾随零

Display numbers up to two decimals places without trailing zeros

本文关键字:数字 小数 两位 显示      更新时间:2023-09-26

在我的代码中,我将接受多个值,例如:

8.7456
8.7
8

我需要让它们显示为

8.74
8.7
8

即最多显示两位小数。

我知道.toFixed(2)会帮助我处理第一个值,但在第二个和第三个值上会有我不想要的尾随零。

如何产生我想要的结果?

使用 Number.toFixed 将数字舍入为两位数,并格式化为字符串。然后使用 String.replace 砍掉尾随零:

[8.7456, 8.745, 8.74, 8.7, 8].forEach(function(num) {
  var str = num.toFixed(2).replace(/'.?0+$/, "");
  console.log(num, str);
});

乘以

100,floor ,除以 100。

var n = 8.7456;
var result = Math.floor(n * 100) / 100; // 8.74

编辑:如果你在事后看这个问题,这可能不是你想要的。它满足了8.7456显示为8.74的奇怪要求。另见相关评论。