More Games - PAINONE

Android games

sites.google.com

    /* 금액 한글배열 */  
    var nString = new Array();   
        nString[0] = "";   
        nString[1] = "일";   
        nString[2] = "이";   
        nString[3] = "삼";   
        nString[4] = "사";   
        nString[5] = "오";   
        nString[6] = "육";   
        nString[7] = "칠";   
        nString[8] = "팔";   
        nString[9] = "구";   
    /* 금액단위 한글배열 */  
    var nbString = new Array();   
        nbString[0] = "";   
        nbString[1] = "";   
        nbString[2] = "십";   
        nbString[3] = "백";   
        nbString[4] = "천";   
        nbString[5] = "만";   
        nbString[6] = "십";   
        nbString[7] = "백";   
        nbString[8] = "천";   
        nbString[9] = "억";   
        nbString[10] = "십";   
        nbString[11] = "백";   
        nbString[12] = "천";   
        nbString[13] = "조";   
        nbString[14] = "십";   
        nbString[15] = "백";   
        nbString[16] = "천";   
  
    function NumberString(obj) {   
        var nStr    = document.getElementById("nStr");   
        var str     = obj.value;   
        var strCode = "";   
        var codeStr = "";   
        var nHan    = "";   
        var cnt     = 0;   
        /* 천조이상이면 */  
        if(str.length > 16) {   
            //alert("한글 표현은 천조 이하에 금액까지 가능합니다.");   
            //경고창 후 마지막 입력값 제거 필요 귀찮아서 안함!! ㅡㅡ;   
            return false;   
        }   
        /* 뒷자리부터 루프 */  
        for (var i = str.length; i > 0; i--) {   
            /* 유니코드 구하기 */  
            strCode = str.charCodeAt(i-1);   
            /* 숫자가 맞다면 */  
            if(strCode >= 48 && strCode <= 57) {   
                cnt++; // 단위계산을 위해 카운팅   
                codeStr = Number(String.fromCharCode(strCode)); // Number형으로   
                if(codeStr != 1) {   
                    if(codeStr == 0) {   
                        if(cnt/5 == 1) { // 만단위표현   
                            nHan = nbString[5] + nHan;   
                        } else if(cnt/9 == 1) { // 억단위표현   
                            nHan = nbString[9] + nHan;   
                        } else if(cnt/13 == 1) { // 조단위 표현   
                            nHan = nbString[13] + nHan;   
                        }   
                    } else {   
                        /* 0이 아니면 입력값에 한글과 단위 */  
                        nHan = nString[codeStr] + nbString[cnt] + nHan;   
                    }   
                } else if(codeStr == 1 && i == str.length) {   
                    /* 1이고 마지막입력값이면 한글 일 표현 */  
                    nHan = nString[codeStr] + nHan;   
                } else {   
                    if(codeStr == 1 && i == 1 && (cnt == 9 || cnt == 13)) {   
                        /**  
                        *    입력값이 1이고 첫입력값이며 단위가 억이거나 조이면   
                        *    예) 일억 또는 일조   
                        *    억이하 단위에선 일을 표현안되기 때문에 일백만원을 백만원 일십만원을 십만원으로 표현되고  
                        *    억, 조 단위는 일억원 일조원 으로 표현하기 위해  
                        */  
                        nHan = nString[codeStr] + nbString[cnt] + nHan;   
                    } else {   
                        nHan = nbString[cnt] + nHan;   
                    }   
                }   
                /* 단위표현에서 억만, 조억에 두번째 단위 제거 (이거 때문에 삽질했네..) */  
                nHan = nHan.replace('억만','억').replace('조억','조');   
            } else {   
                //alert("숫자로 입력하세요.");   
                //경고창 후 마지막 입력값 제거 필요 귀찮아서 안함!! ㅡㅡ;   
                return false;   
            }   
        }   
        nStr.innerHTML = nHan + "원";   
    }   
 

More Games - PAINONE

Android games

sites.google.com

+ Recent posts