【发布时间】:2012-04-18 18:37:57
【问题描述】:
在我的代码中,我将接受多个值,例如:
8.7456
8.7
8
我需要让它们显示为
8.74
8.7
8
即最多显示两位小数。
我知道.toFixed(2) 将帮助我处理第一个值,但在第二个和第三个值上会有我不想要的尾随零。
如何产生我想要的结果?
【问题讨论】:
标签: javascript numbers parsefloat
在我的代码中,我将接受多个值,例如:
8.7456
8.7
8
我需要让它们显示为
8.74
8.7
8
即最多显示两位小数。
我知道.toFixed(2) 将帮助我处理第一个值,但在第二个和第三个值上会有我不想要的尾随零。
如何产生我想要的结果?
【问题讨论】:
标签: javascript numbers parsefloat
使用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);
});
【讨论】:
8. 结果)感谢您的帮助!
乘以 100,floor,除以 100。
var n = 8.7456;
var result = Math.floor(n * 100) / 100; // 8.74
编辑:如果你事后才看这个问题,这可能不是你想要的。它满足了将8.7456 显示为8.74 的奇怪要求。另见the relevant comment。
【讨论】: