在我的代码,我将接受多个值,例如:
8.7456
8.7
8
我需要他们出现
8.74
8.7
8
即显示多达两个小数位。
据我所知, .toFixed(2)
将帮助我的第一个值,但在第2和第3个值就会出现拖尾,我不想零。
如何产生我想要的结果吗?
在我的代码,我将接受多个值,例如:
8.7456
8.7
8
我需要他们出现
8.74
8.7
8
即显示多达两个小数位。
据我所知, .toFixed(2)
将帮助我的第一个值,但在第2和第3个值就会出现拖尾,我不想零。
如何产生我想要的结果吗?
使用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"
100,乘floor
,除以100。
var n = 8.7456;
var result = Math.floor(n * 100) / 100; // 8.74
编辑:如果你正在寻找在事后这个问题,这可能不是你想要的。 它满足具有奇数要求8.7456
显示为8.74
。 另请参阅相关的评论 。