我有此功能将“ 1234”之类的数字转换为“ 1.234”:
function numberWithPoint(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}
console.log(numberWithPoint(1234));
console.log(numberWithPoint(1200));
但是当我有一个类似“ 1200”的数字时,它将转换为“ 1.2”。为什么?
最佳答案
因为它们是数字,并且数字在转换为字符串时不需要显示额外的零。
但是您可以这样做:
function numberWithPoint(x) {
return (x/1000).toFixed(3);
}
console.log(numberWithPoint(1234));
console.log(numberWithPoint(1230));
console.log(numberWithPoint(1200));
console.log(numberWithPoint(1000));
函数
Number.prototype.toFixed
允许您指定要包含在.
之后的位数。