[js] 숫자를 한글로 읽어주기

퇴근길에 다음 도착 버스 안내하는 방송을 듣다가 만들어 볼 생각을 가졌습니다;
어디 쓸데가 있을까 싶은데.. 어..언젠가는.. 한번은.. 쓰겠죠;

Number.prototype.getHangul = function() {
    var numberic = ["","일","이","삼","사","오","육","칠","팔","구"];
    var numunit = ["","","십","백","천","만","십만","백만","천만","억","십억","백억","천억"];
    var str = "", tmp = "";

    var splited = [];
    for(var i = 0; i < String(this).length; i ++) {
        splited.push(String(this).substring(i, i+1));
    }

    for(var i = 0, x = String(this).length; x > 0; -- x, ++ i) {
        tmp = numberic[splited[i]];
        if(tmp) {
            if(x > 4 && numberic[splited[i + 1]]) {
                tmp += numunit[x].substring(0, 1);
            } else {
                tmp += numunit[x];
            }
        }
        str += tmp;
    }

    return str;
};

var num = 16642;
console.log(num.getHangul());

http://jsfiddle.net/rootbox/cwmKs/ 에서 실행해보고 수정해보실 수 있습니다.
Number 객체에 프로토타입으로 선언해서 위 예제처럼 사용할 수 있게 했습니다.
몇 번씩 실행 결과를 봐가면서 수정한 코드라서 구멍이 있을 수 있습니다.;;

덧..
코드를 작성하고 공개할 때 마다 느끼지만 부끄럽습니다. 이게 맞는건지도 모르겠고..
그냥 이것저것 브라우저에서 실행해보고 되면 공개 하니까요..;
지적할 부분이나 개선할 부분이 있다면 꼭 댓글 부탁드립니다.

2 thoughts on “[js] 숫자를 한글로 읽어주기”

  1. 워 작동 잘 되네요
    천재님 역시 대단!!!

    그런데 저 prototype은 처음 보는 구문이군요 으흐흐흐흐
    얼렁 javascript 공부 열심히 해서 이븐옹처럼 뛰어난 고수가 되고 싶어요!!!

Comments are closed.