在我的代码中,我将接受多个值,例如:
8.7456
8.7
8
我需要让它们显示为
8.74
8.7
8
即显示最多两位小数。
我知道这.toFixed(2)
将帮助我处理第一个值,但在第二个和第三个值上会有我不想要的尾随零。
如何产生我想要的结果?
在我的代码中,我将接受多个值,例如:
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
。另见相关评论。