js數字格式化(加千分位逗號)

需求:當金額大於10000時,在做展現的時候,須要加千分位逗號,就是每隔1000要用逗號分隔;

方法一:使用toLocaleString()方法

此方法和toString()方法的區別看這裏javascript

1 <script  type= "text/javascript">  
2      var   num = "12356.546";
3      console.log(parseFloat(num).toLocaleString());  // 12,356
4  </script>  

方法二

第二個方法性能更高,速度相對第一種方法快了將近9倍html

 1 <script>
 2         'use strict'
 3         let format = n => {
 4             let num = n.toString()
 5             let decimals = ''
 6                 // 判斷是否有小數
 7             num.indexOf('.') > -1 ? decimals = num.split('.')[1] : decimals
 8             let len = num.length
 9             if (len <= 3) {
10                 return num
11             } else {
12                 let temp = ''
13                 let remainder = len % 3
14                 decimals ? temp = '.' + decimals : temp
15                 if (remainder > 0) { // 不是3的整數倍
16                     return num.slice(0, remainder) + ',' + num.slice(remainder, len).match(/\d{3}/g).join(',') + temp
17                 } else { // 是3的整數倍
18                     return num.slice(0, len).match(/\d{3}/g).join(',') + temp
19                 }
20             }
21         }
22         format(12323.33)  // '12,323.33'
23     </script>

 若是你們還有什麼更高的解決方案,也能夠在下面添加評論告訴我哦java

相關文章
相關標籤/搜索