📅  最后修改于: 2023-12-03 14:56:08.140000             🧑  作者: Mango
在许多情况下,我们需要把数字转换成添加了逗号的字符串格式,例如:将10000转换成10,000。在JavaScript中,我们可以使用以下几种不同的方法将数字转换为添加了逗号的字符串。这里列出了5种不同的方法。
用toLocaleString()
方法将数字转换为添加了逗号的字符串。
const number = 10000;
const numStr = number.toLocaleString();
console.log(numStr); // "10,000"
使用正则表达式来添加逗号到数字。该正则表达式将数字分成三个部分:整数部分,小数点和小数部分。
function addCommas(num) {
const numStr = num.toString();
const pattern = /(-?\d+)(\d{3})/;
while (pattern.test(numStr))
numStr = numStr.replace(pattern, "$1,$2");
return numStr;
}
console.log(addCommas(10000)); // "10,000"
使用Intl.NumberFormat
对象将数字转化为形如添加逗号的数字字符串。
const numFormatter = new Intl.NumberFormat();
console.log(numFormatter.format(10000)); // "10,000"
使用递归实现添加逗号到数字的操作。此方法的思路是将数字字符串分开并逐个添加逗号。
function addCommas(numStr) {
if (numStr.length < 4) return numStr;
return addCommas(numStr.slice(0, -3)) + ',' + numStr.slice(-3);
}
console.log(addCommas("10000")); // "10,000"
使用位运算实现添加逗号到数字的操作。
function addCommas(num) {
const str = num + '';
const len = str.length;
if (len <= 3) return str;
const mod = len % 3;
let output = (mod > 0 ? (str.substring(0, mod)) : '');
for (let i = 0; i < Math.floor(len / 3); i++) {
if (output != '')
output += ',';
output += str.substring(mod + 3 * i, mod + 3 * i + 3);
}
return output;
}
console.log(addCommas(10000)); // "10,000"
上述几种方法都可以实现将数字转换为添加了逗号的字符串,开发人员需要结合自己的实际情况选择合适的方法。