2024年3月12日发(作者:)

js千分位格式化函数

在 Web 开发中,千分位格式化函数是一个常见的需求,它用于在数字的千位和百位

之间添加逗号,使得数字更加易读。在 JavaScript 中,我们可以编写一个简单的千分位

格式化函数来实现这个功能。

方法一:使用正则表达式

使用正则表达式是最常见的解决方案。我们可以使用 toLocaleString()方法,但是

它只适用于固定位数的数字,而不是动态的数字,因此我们需要使用一个正则表达式来实

现。

```

function formatNumber(num) {

return ng().replace(/(d)(?=(d{3})+(?!d))/g, "$1,");

}

```

这个正则表达式使用了正向肯定断言和负向否定断言,匹配了三位数字组成的一组,

然后在最后一组的后面添加了一个逗号。这样,我们就可以将一个数字转换为其千分位格

式的字符串。

方法二:使用数字转换为字符串后数组反转再合并

```

function toThousands(num) {

var result = [], counter = 0;

num = (num || 0).toString().split('');

for (var i = - 1; i >= 0; i--) {

counter++;

t(num[i]);

if (!(counter % 3) && i != 0) {

t(',');

}

}

return ('');

}

```

该方法首先将数字转换为字符串,然后将字符串转换为数组并反转。接下来,我们可

以使用 for 循环遍历该数组,将每三位数字添加一个逗号。最后,我们需要将反转后的

数组再次反转成字符串,并返回。这个方法对于任何数字都有效。

无论哪种方法,我们都可以通过调用该函数,并传入需要格式化的数字,来获得一个

千分位的格式化字符串。

总结:

无论哪种方法,都可以实现千分位格式化,但是使用正则表达式效率较高。当然,还

有很多其他方法可以实现此功能,这里只介绍了两种常见的方法。在 Web 开发中,我们

需要注意数字格式化的正确性和效率,以提高用户体验。