js如何将数字类型转换成一种没有3个逗号的货币形式

三十三万四千五百和六十八兆七千六百八十亿七亿八千七百万零六百和七万八千九百一十二

XXX,XXX,XXX
复制代码代码如下所示:


在window.onload =函数(){
这个测试由一把小刀提供。
无功testfun =函数(回调,STR){
无功tipelem = document.createelement('div),
开始时间,
持续时间0;
对于(var j=5;j>0;j -){
StartTime = +新的日期();
对于(var i = 10000;i 0;i){
回调();
}
持续时间=((+新的日期())-开始时间)+时间;
}
持续时间=(时间 / 5)。ToFixed(0);
tipelem.innerhtml =力量+总耗时:+时间+ '小姐';
document.body.appendchild(tipelem);
};

var str = '3345687687876789123;

无功cuter1 =功能(STR){ / /刀
VaR len = str.length,
lastIndex,
ARR = { };
当(镜头> 0){
lastIndex = Len;
= 3;
Arr.unshift(str.substring(Len,lastIndex));
}
返回arr.join(',');
};


无功cuter2 =功能(STR){ / / ABCD
返回str.replace( / B(( D { 3 })= / G + $)',');
};

无功cuter3 =功能(STR){ / /之前
返回(str.replace /(。*( { 3 })(函数){ $ 。
如果(参数{ 1 }参数{ 2 }){
返回(参数{ 1 }。*)( D { 3 }) /,争论。被叫方)++论点{ 2 };
{人}
返回参数{ 0 };
}
});
};


无功cuter4 =功能(STR){ / / alucelx
返回str.split('')。反()。加入(),更换( /( D { 3 })/ g,1美元,)。Split('')。反()。加入();
};

无功cuter5 =功能(STR){ / /斯塔布美丽
var = { };
当(STR){
STR = str.replace( / D { 1,3 } $ / g,功能(一){ {)
Ret.unshift(一)
返回
});
}
返回ret.join(
};
无功cuter6 =功能(STR){ / /斯塔布美丽
var n = str.length % 3;
如果(n){
返回str.slice(0,n)+ str.slice(N)。更换( /( D { 3 })/ g,1美元)
其他{ }
返回str.replace( /( D { 3 })/ g,1美元)片(1)。
}
};
无功cuter7 =功能(STR){ / /斯塔布美丽
var
对于(var i = 0,n = str.length,m = n % 3 - 1;i < n;i++){
ret = str.charat(我)
如果(i = 3 = m){
= RET
}
}
var = ret.length - 1
返回ret.charat(E)= =
}
无功cuter8 =功能(STR){ / / { {值} }
VaR S2 = { }。slice.call(STR);
对于(var i = s2.length-3;我> 0;I = 3){
s2.splice(我,0,',');
}
返回s2.join()
}
无功cuter9 =功能(STR){ / /听到
VaR纽世达=新的数组(str.length + parseInt(str.length / 3));
纽世达{纽世达。length-1 } = { } str.length-1 STR;
无功currentindex = str.length-1;
对于(var i = newstr.length-1;我> = 0;我--){
如果((纽世达。length-i)% 4 = = 0)
{
纽世达{我} =
其他{ }
纽世达{我} = {,} currentindex STR;
}
}
返回newstr.join()
}
无功cuter10 =功能(STR){ / / Rekey
VaR len = str.length,str2 = '',max = math.floor(Len / 3);
对于(var i = 0;i < max;i + +){
var = str.slice(莱恩- 3,Len);
STR = str.substr(0,莱恩- 3);
str2 =(',' + S)+ str2;
str.length len =;
}
STR = str2;
返回字符
}
以下是性能测试
testfun(函数(){()
cuter1(STR);
}方法一;


testfun(函数(){()
cuter2(STR);
}方法二;


testfun(函数(){()
cuter3(STR);
}方法三;


testfun(函数(){()
cuter4(STR);
}方法四;


testfun(函数(){()
cuter5(STR);
}方法五;
testfun(函数(){()
cuter6(STR);
}方法六;
testfun(函数(){()
cuter7(STR);
}方法七;
testfun(函数(){()
cuter8(STR);
}方法八;
testfun(函数(){()
cuter9(STR);
}方法九;
testfun(函数(){()
cuter10(STR);
}方法十;
}


新能源测试的结果是:
复制代码代码如下所示:
方法总时间:14毫秒。
方法两个总耗时:9毫秒。
方法三总耗时:174毫秒
方法四总耗时:34毫秒
方法五总耗时:39毫秒
方法六总耗时:7毫秒
方法七总耗时:9毫秒
方法八总耗时:30毫秒
方法九总耗时:14毫秒
方法十总耗时:4毫秒