显示最多两位小数位的数字,不带尾随零
Display numbers up to two decimals places without trailing zeros
在我的代码中,我将接受多个值,例如:
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
的奇怪要求。另见相关评论。
相关文章:
- 将数字四舍五入到两位小数
- 在数字字符串的最后两个数字上加上小数
- 将数字格式化为货币,两位小数
- 从数组/字符串中删除所有小数和单个数字
- 大于带数字和小数的条件
- 删除Javascript中小数后的数字
- 用Javascript替换数字's小数
- 对于大的数字,在这个本地化函数上强制使用两个小数
- excel中数字格式时的小数位数
- JavaScript打印的数字有20位小数
- Javascript-格式化数字,始终显示原始的小数位数
- 如何通过 javascript 在浮点数中保留小数点数后的 2 位数字
- 将小数四舍五入为 3 个数字
- 当一个有小数而没有十进制时,JS减去数字
- 数字中的小数位数和精度
- 如何在 Node/Javascript 中丢弃数字的小数部分
- 如何使用 Angular “数字”过滤器键入时在输入字段中设置带有千和小数分隔符的字符串格式
- Javascript:如何检索*字符串*数字的小数位数
- 如何使用 javascript 获取带有 2 个小数且不舍入的数字
- 输入元素,只允许小数的数字,使用AngularJS