Home  >  Article  >  Web Front-end  >  js function that converts rmb digital money into Chinese money_javascript skills

js function that converts rmb digital money into Chinese money_javascript skills

WBOY
WBOYOriginal
2016-05-16 18:23:121166browse

Effect picture:
js function that converts rmb digital money into Chinese money_javascript skills
Effect demonstration:


[Ctrl A Select all Note:If you need to introduce external Js, you need to refresh to execute it
]

Core code: The code is as follows:


function ChangeRMBToCH(Num)
{
for(i =Num.length-1;i>=0;i--)
{
Num = Num.replace(",","")//Replace the "," in tomoney()
Num = Num.replace(" ","")//Replace the spaces in tomoney()
}
Num = Num.replace("¥","")//Replace the possible ¥ characters
if(isNaN(Num))
{ //Verify whether the entered characters are numbers
alert("Please check whether the lowercase amount is correct");
return "";
}
//---After the character processing is completed, the conversion begins. The conversion uses the front and back parts to convert separately---//
part = String(Num).split(".");
newchar = "" ;
//Convert before the decimal point
for(i=part[0].length-1;i>=0;i--)
{
if(part[0].length > 10){ alert("The number of digits is too large to be calculated");return "";}//If the quantity exceeds one hundred million units, prompt
tmpnewchar = ""
perchar = part[0]. charAt(i);
switch(perchar)
{
case "0": tmpnewchar="zero" tmpnewchar ;break;
case "1": tmpnewchar="one" 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="Lu" 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 "Ten thousand" ;break;
case 5: if(perchar!=0)tmpnewchar= tmpnewchar "十" ;break;
case 6: if(perchar!=0)tmpnewchar= tmpnewchar "hundred" ;break;
case 7: if(perchar!=0)tmpnewchar= tmpnewchar "仟" ;break;
case 8: tmpnewchar= tmpnewchar "billion" ;break;
case 9: tmpnewchar= tmpnewchar "十" ; break;
}
newchar = tmpnewchar newchar;
}
//Convert after the decimal point
if(Num.indexOf(".")!=-1)
{
if(part[1].length > 2)
{
alert("Only two digits can be left after the decimal point, the system will automatically truncate");
part[1] = part[ 1].substr(0,2)
}
for(i=0;i{
tmpnewchar = ""
perchar = part [1].charAt(i)
switch(perchar)
{
case "0": tmpnewchar="zero" tmpnewchar ;break;
case "1": tmpnewchar="one" 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="Lu" tmpnewchar ;break;
case "7": tmpnewchar="柒" tmpnewchar ;break;
case "8": tmpnewchar="捌" tmpnewchar ;break;
case "9": tmpnewchar="玖" tmpnewchar ;break;
}
if(i= =0)tmpnewchar =tmpnewchar "angle";
if(i==1)tmpnewchar = tmpnewchar "point";
newchar = newchar tmpnewchar;
}
}
if(newchar. search("fen") != -1)
{
newchar = newchar.replace("zero angle", "zero");
}
//Replace all useless Chinese characters
while(newchar.search("zero zero") != -1)
newchar = newchar.replace("zero zero", "zero");
newchar = newchar.replace("zero billion", " Billion");
newchar = newchar.replace("Billion", "Billion");
newchar = newchar.replace("Zero Thousand", "Ten Thousand");
newchar = newchar.replace ("zero yuan", "yuan");
newchar = newchar.replace("zero cent", "");
newchar = newchar.replace("zero cent", "");
if (newchar.charAt(newchar.length-1) == "元" || newchar.charAt(newchar.length-1) == "angle")
newchar = newchar "whole";
return newchar ;
}
<script> alert(ChangeRMBToCH("1680760.86")); function ChangeRMBToCH(Num) { for(i=Num.length-1;i>=0;i--) { Num = Num.replace(",","")//替换tomoney()中的"," Num = Num.replace(" ","")//替换tomoney()中的空格 } 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) { alert("小数点之后只能保留两位,系统将自动截段"); 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; } } if(newchar.search("分") != -1) { newchar = newchar.replace("零角", "零"); } //替换所有无用汉字 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; } </script>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn