function format1000(s){
var sfmt=s.toString() || '';
if (sfmt.length>=4){
var p0=sfmt.indexOf('.');
if (p0<0) p0=sfmt.length;
var m=p0-1;
var s0=''
while(1){
if (m>1){
s0=sfmt.substr(m-2,3)+(s0==''? '' : ','+s0);
m=m-3;
} else {
if (m>=0) s0=sfmt.substr(0,m+1)+(s0=='' ? '' : ','+s0);
break
}
}
sfmt=s0+sfmt.substr(p0);
}
console.log(sfmt)
return sfmt;
}
format1000('-397156408278.551') //-,397,156,408,278.551
// format1000('-397') //-,397
//format1000('-1352934161526990000')//-1,352,934,161,526,990,000
大佬们这个转千分位的代码 会出现 - 的情况,怎么处理?
在
else
里加个判断即可另外给个正则做法
从左到右遍历,分割到数组再
join
的做法测试用例