方法一:使用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