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


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

方法一:使用toLocaleString()方法

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

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

方法二

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

 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>

 如果大家還有什么更高的解決方案,也可以在下面添加評論告訴我哦


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM