📅  最后修改于: 2023-12-03 15:31:41.557000             🧑  作者: Mango
千位分隔符指的是在数字四位一组地以逗号分隔数字,从而使得数字更易读懂。
JavaScript 提供了多种方式实现千位分隔符,以下是其中的几种方法:
const num = 123456789;
const formattedNum = num.toLocaleString('en-US');
console.log(formattedNum); // 123,456,789
这种方法根据当前环境的语言选项,自动使用合适的千位分隔符。
const num = 123456789;
const formattedNum = num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
console.log(formattedNum); // 123,456,789
这种方法使用正则表达式匹配数字的末尾三位加上逗号,直到没有更多的三位数字。
function format(num) {
if (num < 1000) {
return num.toString();
}
const remainder = num % 1000;
const quotient = Math.floor(num / 1000);
const formattedRemainder = remainder < 10 ? '00'+remainder : remainder < 100 ? '0'+remainder : remainder;
return format(quotient) + ',' + formattedRemainder;
}
const num = 123456789;
const formattedNum = format(num);
console.log(formattedNum); // 123,456,789
这种方法递归地将数字从右到左每三位加一个逗号,直到数字小于 1000。
千位分隔符只对数字类型有效。如果需要对其他类型的数据添加千位分隔符,需要先将其转化为数字类型。例如:
const str = '123456789';
const num = parseFloat(str);
const formattedNum = num.toLocaleString('en-US');
console.log(formattedNum); // 123,456,789
以上三种方法均可以实现千位分隔符的效果,具体选择哪种方法取决于实际需求和个人喜好。