'자바스크립트'에 해당되는 글 15

  1. 2007.10.26 [Javascript] 숫자를 한글자리수로 표현 자바스크립트
num2won - 숫자를 한글자리수로 표현 자바스크립트  
DATE:2004-06-02 09:37:19, HIT:2,360, WISH:2, VOTE:2
  • http://phpschool.com/bbs2/inc_view.html?id=10817&code=tnt2&start=0&mode=&field=&search_name=&operato
  • 버그 수정완료 된 겁니다.
    <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]="&nbsp;";}
            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'>&nbsp;</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>
    [출처] http://libphp.com/main/data/view.php?no=3117&back=L21haW4vZGF0YS9zZWFyY2gucGhwP2NhdDE9NCZjYXQyPTk3