js数字格式化(加千分位逗号)
需求:当金额大于10000时,在作展示的时候,需要加千分位逗号,就是每隔1000要用逗号分隔;
方法一:使用toLocaleString()方法
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>
如果大家还有什么更高的解决方案,也可以在下面添加评论告诉我哦