而不是Math.round()
和toFixed()
,如果只有可分的数字包含十进制,那么维持3位小数的替代方法是什么。
我想要
100 / 30 => 3.333
390 / 100 => 3.90
100 / 100 => 1
答案 0 :(得分:2)
如果需要,您可以修复小数并用点替换最后的零。
function round(n) {
return function (v) {
return v.toFixed(n).replace(/\.?0+$/, '');
};
}
var array = [100 / 30, 390 / 100, 100 / 100, 100];
console.log(array.map(round(3)));

首先保持零。
function round(n) {
return function (v) {
return v.toFixed(n).replace(/0+$/, '0').replace(/\.0+$/, '');
};
}
var array = [100 / 30, 390 / 100, 100 / 100, 100];
console.log(array.map(round(3)));