이전에 프로젝트를 진행하면서 소문자로 입력된 금액을 자동으로 대문자로 변환해야 하는 경우가 있었습니다. 검색 끝에 다음 코드를 생각해 냈는데 도움이 되었으면 좋겠습니다.
function Arabia_to_China(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="zero" tmpnewchar ;break; 🎜>케이스 "1": tmpnewchar="one" tmpnewchar ;break;
케이스 "2": tmpnewchar="two" tmpnewchar ;break
케이스 "3": tmpnewchar="三" tmpnewchar ;break;
케이스 "4": tmpnewchar="4" tmpnewchar ;break;
케이스 "5": tmpnewchar="五" tmpnewchar ;break
케이스 "6": tmpnewchar="Lu" tmpnewchar ;break ;
케이스 "7": tmpnewchar="柒" tmpnewchar ;break;
케이스 "8": tmpnewchar="捌" tmpnewchar ;break
케이스 "9": tmpnewchar="玖" tmpnewchar ; break;
}
switch(part[0].length- i-1){
케이스 0: tmpnewchar = tmpnewchar "元" ;break
케이스 1: if(perchar!=0 )tmpnewchar= tmpnewchar "十" ;break;
사례 2: if( perchar!=0)tmpnewchar= tmpnewchar "䰰" ;break
사례 3: if(perchar!=0)tmpnewchar= tmpnewchar "千" ;break;
사례 4: tmpnewchar= tmpnewchar "万" ;break ;
사례 5: if(perchar!=0)tmpnewchar= tmpnewchar "hundred" ;break;
사례 6: if(perchar !=0)tmpnewchar= tmpnewchar "백" ;break;
사례 7: if(perchar!=0)tmpnewchar= tmpnewchar "仟" ;break
사례 8: tmpnewchar= tmpnewchar "억" ;break ;
사례 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;
케이스 "1": tmpnewchar="one " tmpnewchar ;break;
케이스 "2": tmpnewchar="two" tmpnewchar ;break
케이스 "3": tmpnewchar ="三" tmpnewchar ;break;
케이스 "4": tmpnewchar="4" tmpnewchar ;break;
케이스 "5": tmpnewchar="五" tmpnewchar ;break
케이스 "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;
}
}
while( newchar.search("zero zero") != -1)
newchar = newchar.replace("zero zero", "zero" );
newchar = newchar.replace("0억", "억" ; 0위안", "위안");
newchar = newchar.replace("0센트", "");
newchar = newchar.replace("제로 센트", "");
if ( newchar.charAt(newchar.length-1) == "위안" || newchar.charAt(newchar.length-1) == "angle")
newchar = newchar "전체"
return newchar;
}