将数字转换成千分位表示
第一种方法是:使用reverse() 方法颠倒数组中元素的顺序。
1 MillenniumRepresentation(value){ 2 var list = new String(value).split('').reverse(); 3 for(var i = 0; i < list.length; i++){ 4 if(i % 4 == 3){ 5 list.splice(i, 0, ','); 6 } 7 } 8 return list.reverse().join(''); 9 }
第二种方法是:
1 MillenniumRepresentation(value){ 2 var list = String(value).split('').reverse(); 3 var temp = []; 4 for(var i = 0, len = list.length; i < len; i = i + 3){ 5 temp.push(list.slice(i, i + 3).join('')); 6 } 7 return temp.join(',').split('').reverse().join(''); 8 }
第三种方法是:使用正则表达式,匹配/(?=(?!)(\d{3})+$)/g数字后面是三个数字或者3的倍数个数字。(\d{3}+$)表示3的倍数个数字,如3个数字6个数字等,?=表示后面一定是3的倍数个数字。使用substring(start,length)获取第一个是否是“,”。如果是,则去掉。
1 MillenniumRepresentation(value){ 2 var reg=/(?=(?!)(\d{3})+$)/g; 3 let StringValue = String(value).replace(reg, ',') 4 if(StringValue.substring(0,1)===','){ 5 return StringValue.replace(/,/,''); 6 }else{ 7 return StringValue 8 } 9 }