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>