본문 바로가기

Web/Javascript

숫자를 한글자리수로 표현 자바스크립트

버그 수정완료 된 겁니다.
<script>
var num="";var won=new Array;var obj="";
function num2won(val){
    re=/[^0-9]+/g
    num=val.toString();
    if(!val) {alert("내용이 없습니다.");return false;}
    if(re.exec(num)) {alert("숫자만 입력 가능합니다.");return false;}
    if(num.substr(0,1)==0) {alert("0으로 시작할수 없습니다.");return false;}
    var price_unit0=new Array("","일","이","삼","사","오","육","칠","팔","구");
    var price_unit1=new Array("","십","백","천");
    var price_unit2=new Array("만","억","조","경","해");
    for(i=0;i<=num.length-1;i++){won[i]=price_unit0[num.substr(i,1)];}
    won=won.reverse();
    for(i=0;i<=num.length-1;i++){if(i>0 && won[i]!="") {won[i]+=price_unit1[i%4];}}
    for(i=4;i<=won.length-1;i=i+4) {won[i]+=price_unit2[(i/4-1)];}
    for(i=0;i<=num.length-1;i++){if(i%4 > 0) {won[i]=won[i].replace("일","");}}
    won=won.reverse();return won.join("");
}
alert(num2won(111145411112334))
</script>

위 소스는 리턴형식.
---------------------------------------------------------------------------------
아래는 테이블로 로 표시
<script>
var num="";var won=new Array;var obj="";
var price_unit3=new Array("일","십","백","천","만","십만","백만","천만","억","십억","백억","천억","조","십조","백조","천조","경","십경","백경","천경","해");
function num2won(){
    re=/[^0-9]+/g
    num=objnum.value.toString();
    if(!objnum.value) {alert("내용이 없습니다.");return false;}
    if(re.exec(objnum.value)) {alert("숫자만 입력 가능합니다.");return false;}
    if(objnum.value.substr(0,1)==0) {alert("0으로 시작할수 없습니다.");return false;}
    var price_unit0=new Array("","일","이","삼","사","오","육","칠","팔","구");
    var price_unit1=new Array("","십","백","천");
    var price_unit2=new Array("만","억","조","경","해");
    for(i=0;i<=num.length-1;i++){won[i]=price_unit0[num.substr(i,1)];}
    won=won.reverse();
    for(i=0;i<=num.length-1;i++){if(i>0 && won[i]!="") {won[i]+=price_unit1[i%4];}}
    for(i=4;i<=won.length-1;i=i+4) {won[i]+=price_unit2[(i/4-1)];}
    for(i=0;i<=num.length-1;i++){if(i%4 > 0) {won[i]=won[i].replace("일","");}}
    won_view()
}

function won_view(){
    if(objnum.value==0) {    won[0]="영";}
    obj="<table border=1><tr>";
    for(i=price_unit3.length-1;i>=0;i--){
        if(won[i]=="") {    won[i]=" ";}
        else    {obj+="<td align='center'>"+price_unit3[i]+"</td>";}
    }
    obj+="</tr><tr>";
    for(i=price_unit3.length-1;i>=0;i--){
        if(won.length>i) {    obj+="<td align='center'>"+won[i]+"</td>";}
        else    {obj+="<td align='center'> </td>";}
    }
obj+="</tr></table>";
won1.innerHTML=obj;
won=new Array();
}

</script>
<input type=text id='objnum' maxlength=24 size=25><input type=button value="확인" onclick='num2won()'>
<table>
        <tr><td id=won1></td></tr>
</table>



'Web > Javascript' 카테고리의 다른 글

top으로  (0) 2013.09.26
Image - 동적인 크기조절  (0) 2013.09.26
onload  (0) 2013.09.26
선택한 것만 활성화  (0) 2013.09.26
렌덤 & 소수점제거  (0) 2013.09.26