问题背景
要求实现一个金额转换的工具类,输入一个数字金额,返回新的字符串,每三位以逗号分隔。
例如:
输入:1000
输出:1,000
输入:5689104
输出:5,689,104
输入:12345678
输出:12,345,678
代码实现
/**
* @description 数组格式化, 每三位以逗号分隔
* @date 2024-6-17
* @author Joyce Lee
* @param num
* @returns {string}
*/
export const formatNumber = (num) => {
num = num.toString();
let pattern = /(-?\d+)(\d{3})/;
while (pattern.test(num)) {
num = num.replace(pattern, '$1,$2');
}
return num;
}
测试
console.log(formatNumber(1000)) // 1,000
console.log(formatNumber(5689104)) // 5,689,104
console.log(formatNumber(12345678)) // 12,345,678