<script> function num2han(num){ /* * 숫자2한글 스크립트 * 만든넘 : 행복한고니(gonom9@empal.com) */ var i, j=0, k=0; var han1 = new Array("","일","이","삼","사","오","육","칠","팔","구"); var han2 = new Array("","만","억","조","경","해","시","양","구","간"); var han3 = new Array("","십","백","천"); var result="", hangul = num + "", pm = ""; var str = new Array(), str2=""; var strTmp = new Array();
if(parseInt(num)==0) return "영"; //입력된 숫자가 0일 경우 처리 if(hangul.substring(0,1) == "-"){ //음수 처리 pm = "마이너스 "; hangul = hangul.substring(1, hangul.length); } if(hangul.length > han2.length*4) return "too much number"; //범위를 넘는 숫자 처리 자리수 배열 han2에 자리수 단위만 추가하면 범위가 늘어남.
for(i=hangul.length; i > 0; i=i-4){ str[j] = hangul.substring(i-4,i); //4자리씩 끊는다. for(k=str[j].length;k>0;k--){ strTmp[k] = (str[j].substring(k-1,k))?str[j].substring(k-1,k):""; strTmp[k] = han1[parseInt(strTmp[k])]; if(strTmp[k]) strTmp[k] += han3[str[j].length-k]; str2 = strTmp[k] + str2; } str[j] = str2; if(str[j]) result = str[j]+han2[j]+result; //4자리마다 한칸씩 띄워서 보여주는 부분. 우선은 주석처리 //result = (str[j])? " "+str[j]+han2[j]+result : " " + result;
j++; str2 = ""; }
return pm + result; //부호 + 숫자값 } </script>
MS IE 6.0 SP1에서만 테스트해봤지만 넷스에서도 사용가능할 겁니다.(Maybe... -_-;;) 값을 반환해주는 함수이므로 document.write 등과 연계해서 쓰는 부분은 알아서... 하시구요... 일부러 "일천","일만" 과 같은 단어는 "천"이나 "만"으로 바꾸지 않고 놔두었습니다. 결제시스템에 사용할 목적으로 만든 것이라 그런 것도 필요해서요.
무단 개선 및 건전딴지 적극 환영입니다. 단, 무단개선후에 저에게도 조금 지혜를 나누어 주시길... 헤헤헤... -_-;; 예제 페이지 첨부하지 않았습니다. |