js实现与每个大浏览器的完美兼容
VaR Xcc =12.22;
document.write(X ++ formatrmb(X)= >+);
大写小写。
VaR啊=122元二点二点;
document.write(RRRR +=+ parsermb(啊));
输出结果:
12.22=22元2分2分
22点两分=12.22
让我们看一个具体的例子。
var c =lingyiersansiwuluqibajiu (。分裂);
{0
无功_c = {}; / /反向关系
对于(var i = 0;i < c.length;i++){
_c { } { } =我我C;
};
var元** **百万;
var =
功能单元(ARR){
var
而(arr.length){
var t = arr.pop();
(=t(0);
++;
}
STR = str.replace (}{2 / 0,}/g, zero);
STR = str.replace( / / ^ {零,);
STR = str.replace(} $ / /零,);
如果(str.indexof(零)= = 0){
STR = str.substring(1);
}
如果(str.lastindexof(零)- 1 = = str.length){
STR = str.substring(0,str.length - 1);
}
返回字符;
}
功能_formatd(一){
转换整数部分
var arr = a.split(),i = 0,结果= ;
而(arr.length){
VaR arr1 = arr.splice(- 4, 4);
VaR DW = d.charat(I),单位为单元(前);
如果(DW =百万{单位!)
DW;
}
结果=单位+数据仓库+结果;
我= 4;
}
返回结果;
}
功能_formatf(b){
分数转换
B = B | | ;
开关(b.length){
案例0:
返回全部;
案例1:
返回+;
违约:
返回C { b.charat(0)} +角+ C { b.charat(1)} +子;
}
}
功能_format(N){
var =()。))A0 = { 0 },A1 = { 1 };
返回_formatd(A0)+ _formatf(A1);
}
功能parse4(U4){
var = 0;
而(= T /({ Lingyiersansiwuluqibajiu })({ / g.exec }万)(U4)){
var n = _c { T { 1 } },D = {
:1,
拿起:10,
白:100,
千:1000
{ { { 2 } };
= n * d;
U4 = u4.replace(T { 0 },);
}
var =(0000 + RES);
返回result.substring(result.length - 4);
}
功能_parsed(D){
var arr = d.replace(} / G /零,)(。分裂/ / RS =万亿);
对于(var i = 0;i < arr.length;i++){
RS = parse4(ARR {我});
}
;
Return rs.replace (/^{0}+/, );
};
功能_parsef(F){
VaR既=T= f.replace( / { Lingyiersansiwuluqibajiu } ^ + / g,。分裂)(); / /删除单元
如果(t.length){
;
{人}
返回;
}
;
对于(var i = 0;(我的<< t.length我<2);i++){
RES = _c { T {我} };
}
;
返回水库;
};
功能_parse(人民币){
创建一个rmb.split(元素),A1 =一{ 1 },A0 =一个{ 0 };
如果(a.length = = 1){
a1 = a0;
A0 = ;
}
返回_parsed(A0)+ _parsef(A1);
};
小写到大写
功能formatrmb(NUM){
var =数字(努姆);
如果(!IsNaN(努姆)){
如果(数字= 0){
返回零元;
其他{ }
返回_format(N);
}
{ }人
返回false;
}
}
打开/大写小写
功能parsermb(人民币){
如果( / ^ { lingyiersansiwuluqibajiu万亿元石白1000角} { 2 } $ /。试验(人民币)){
var result = _parse(人民币);
返回人民币= this.formatrmb(结果)结果:结果(+);
{人}
返回false;
}
};
小写到大写
VaR Xcc =12.22;
document.write(X ++ formatrmb(X)= >+);
大写小写。
VaR啊=122元二点二点;
document.write(RRRR +=+ parsermb(啊));
以人民币换资本为例
金额人民币/美元/资本转移程序Javascript版本
/ /版权中阴齐
功能numtocny(NUM){
无功capunit = { '万','元','元'、'圈子',' };
无功capdigit = { 2:{ 'angle ',',':{ 4 },1000,'白','拿起'、' } };
无功capnum = {零','一'和'二','三','四','吴','小姐'、'七'、'八'、'九' };
如果((((num.tostring)。指标)(' ')> 16)| |(isnan(努姆)))
返回' ';
Num =(math.round(Num * 100)/ 100)。ToString();
Num =((Math.pow(10,19-num.length))。ToString()),Substring(1)+数字;
var i,RET,J,nodenum,K,subret,Len,subchr,curchr = { };
为(i = 0,ret = '';我<5;i++,J =我* 4 + math.floor(我 / 4)){
nodenum = num.substring(J,J + 4);
为(k = 0,subret = '',len = nodenum.length;(K)
curchr { 2 } = { % capnum nodenum.charat(K)} +((nodenum.charat(K)= = 0):capdigit { Len } { k });
如果(!((curchr { 0 } = = curchr { 1 })(curchr { 0 } = = capnum { 0 })))
如果(!((curchr { 2 } = = K capnum { 0 })(subret = =)(ret = =)))
subret = curchr { 2 } %;
}
subchr = subret +((subret = ='):capunit {我});
如果(!((subchr = = capnum { 0 })(ret = =)))
subchr ret =;
}
ret =(ret = =)capnum { 0 } + capunit { 3 }:RET;
返回页首;
}