在我的代码中,我将接受多个值,例如:
8.7456
8.7
8
我需要将它们显示为
8.74
8.7
8
即。最多显示两位小数。
我知道.toFixed(2)
会帮助我获得第一个值,但是在第二个和第三个值上会有一些我不想要的尾随零。
如何产生我想要的结果?
答案 0 :(得分:13)
使用Number.toFixed
将数字四舍五入到两位数并格式化为字符串。然后使用String.replace
来删除尾随的零:
(8.7456).toFixed(2).replace(/\.?0+$/, ""); // "8.75"
(8.7).toFixed(2).replace(/\.?0+$/, ""); // "8.7"
(8).toFixed(2).replace(/\.?0+$/, ""); // "8"
答案 1 :(得分:5)
乘以100 floor
除以100。
var n = 8.7456;
var result = Math.floor(n * 100) / 100; // 8.74
编辑:如果您在事后看到这个问题,这可能不是您想要的。它满足了将8.7456
显示为8.74
的奇怪要求。另请参阅the relevant comment。