js格式化数字

今天遇到这么个需求,觉得很有意思,分享给大家。
某个div内需要将后台返回的数字格式化显示到页面上,怎么叫格式呢,就是每三位就加个逗号。
然后我简单实现了一下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function  parseNum(num) {  

var num = num.toString(), result = '';

while (num.length > 3) {
result = ',' + num.slice(-3) + result;
num = num.slice(0, num.length - 3);
}

if (num) result = num + result;

return result;
}

parseNum(123456789123) // '123,456,789,123'

恩,效果达到了。
不过还是感觉很不爽,不喜欢用太多代码解决很简单的问题。
于是去查了下MDN。
那么精简答案出来了

1
2
var num = 123456789123;
num.toLocaleString(); // '123,456,789,123'

ok, 收工。

0%