(123456789).toLocaleString('en-US')

js中原生的将数字转换成每三位一个逗号的形式

(123456789).toLocaleString('en-US')

vue中使用过滤器

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title></title>
 6 </head>
 7 <body>
 8 <!-- 定义视图 -->
 9 <div id="app">
10     <h1>{{num | currency('法郎', 3)}}</h1>
11     <h1>{{num2 | currency}}</h1>
12 </div>
13 <script type="text/javascript" src="vue.js"></script>
14 <script type="text/javascript">
15 // 自定义过滤器
16 /**
17  * 价格过滤器
18  * @num     处理的数字
19  * @sign     价格标志
20  * @len     小数保留的位数
21  * return     价格的形式:整数部分每三位加一个逗号
22  ***/ 
23 Vue.filter('currency', function(num, sign, len) {
24     // 转换数字
25     // 1 标志, 2 整数部分, 3 小数部分
26     sign = sign || '¥';
27     len = len || 2;
28     var intNum = parseInt(num);
29     var floatNum = num - intNum;
30     // 整数部分每三位添加逗号
31     // 转换字符串
32     // 每三位插入逗号(转换成数组,通过数组插入)
33     var arr = String(intNum).split('');
34     // 从最高位开始数,所以从后向前变量
35     // 倒数第三个成员前面插入, 不能遍历到第一个位置
36     for (var i = arr.length - 3; i > 0; i -= 3) {
37         // 在当前位置插入成员
38         arr.splice(i, 0, ',')
39     }
40     // 三个部分拼在一起, 小数不要包含整数部分的0
41     return sign + arr.join('') + floatNum.toFixed(len).slice(1)
42     // console.log(arr)
43 })
44 // 创建vm对象
45 var app = new Vue({
46     el: '#app',
47     data: {
48         num: 123456789.123456,
49         num2: 12345.6789
50     }
51 })
52 </script>
53 </body>
54 </html>
原文地址:https://www.cnblogs.com/oklfx/p/8496156.html