JS案例分享之金额小写转大写

前端技术 2023/09/01 JavaScript

之前做项目的时候遇到需要在输入小写金额之后自动转成大写,经过一番研究,整出了如下代码,分享给大家,希望有所帮助

复制代码 代码如下:

function Arabia_to_Chinese(Num){
for(i=Num.length-1;i>=0;i--)
{
Num = Num.replace(\",\",\"\")
Num = Num.replace(\" \",\"\")
}
Num = Num.replace(\"¥\",\"\")
if(isNaN(Num)) {
alert(\"请检查小写金额是否正确\");
return;
}
part = String(Num).split(\".\");
newchar = \"\";
for(i=part[0].length-1;i>=0;i--){
if(part[0].length > 10){ alert(\"位数过大,无法计算\");return \"\";}
tmpnewchar = \"\"
perchar = part[0].charAt(i);
switch(perchar){
case \"0\": tmpnewchar=\"零\" + tmpnewchar ;break;
case \"1\": tmpnewchar=\"壹\" + tmpnewchar ;break;
case \"2\": tmpnewchar=\"贰\" + tmpnewchar ;break;
case \"3\": tmpnewchar=\"叁\" + tmpnewchar ;break;
case \"4\": tmpnewchar=\"肆\" + tmpnewchar ;break;
case \"5\": tmpnewchar=\"伍\" + tmpnewchar ;break;
case \"6\": tmpnewchar=\"陆\" + tmpnewchar ;break;
case \"7\": tmpnewchar=\"柒\" + tmpnewchar ;break;
case \"8\": tmpnewchar=\"捌\" + tmpnewchar ;break;
case \"9\": tmpnewchar=\"玖\" + tmpnewchar ;break;
}
switch(part[0].length-i-1){
case 0: tmpnewchar = tmpnewchar +\"元\" ;break;
case 1: if(perchar!=0)tmpnewchar= tmpnewchar +\"拾\" ;break;
case 2: if(perchar!=0)tmpnewchar= tmpnewchar +\"佰\" ;break;
case 3: if(perchar!=0)tmpnewchar= tmpnewchar +\"仟\" ;break;
case 4: tmpnewchar= tmpnewchar +\"万\" ;break;
case 5: if(perchar!=0)tmpnewchar= tmpnewchar +\"拾\" ;break;
case 6: if(perchar!=0)tmpnewchar= tmpnewchar +\"佰\" ;break;
case 7: if(perchar!=0)tmpnewchar= tmpnewchar +\"仟\" ;break;
case 8: tmpnewchar= tmpnewchar +\"亿\" ;break;
case 9: tmpnewchar= tmpnewchar +\"拾\" ;break;
}
newchar = tmpnewchar + newchar;
}
if(Num.indexOf(\".\")!=-1){
if(part[1].length > 2) {
part[1] = part[1].substr(0,2)
}
for(i=0;i<part[1].length;i++){
tmpnewchar = \"\"
perchar = part[1].charAt(i)
switch(perchar){
case \"0\": tmpnewchar=\"零\" + tmpnewchar ;break;
case \"1\": tmpnewchar=\"壹\" + tmpnewchar ;break;
case \"2\": tmpnewchar=\"贰\" + tmpnewchar ;break;
case \"3\": tmpnewchar=\"叁\" + tmpnewchar ;break;
case \"4\": tmpnewchar=\"肆\" + tmpnewchar ;break;
case \"5\": tmpnewchar=\"伍\" + tmpnewchar ;break;
case \"6\": tmpnewchar=\"陆\" + tmpnewchar ;break;
case \"7\": tmpnewchar=\"柒\" + tmpnewchar ;break;
case \"8\": tmpnewchar=\"捌\" + tmpnewchar ;break;
case \"9\": tmpnewchar=\"玖\" + tmpnewchar ;break;
}
if(i==0)tmpnewchar =tmpnewchar + \"角\";
if(i==1)tmpnewchar = tmpnewchar + \"分\";
newchar = newchar + tmpnewchar;
}
}
while(newchar.search(\"零零\") != -1)
newchar = newchar.replace(\"零零\", \"零\");
newchar = newchar.replace(\"零亿\", \"亿\");
newchar = newchar.replace(\"亿万\", \"亿\");
newchar = newchar.replace(\"零万\", \"万\");
newchar = newchar.replace(\"零元\", \"元\");
newchar = newchar.replace(\"零角\", \"\");
newchar = newchar.replace(\"零分\", \"\");
if (newchar.charAt(newchar.length-1) == \"元\" || newchar.charAt(newchar.length-1) == \"角\")
newchar = newchar+\"整\"
return newchar;
}

本文地址:https://www.stayed.cn/item/2641

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。