퇴근길에 다음 도착 버스 안내하는 방송을 듣다가 만들어 볼 생각을 가졌습니다;
어디 쓸데가 있을까 싶은데.. 어..언젠가는.. 한번은.. 쓰겠죠;
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 객체에 프로토타입으로 선언해서 위 예제처럼 사용할 수 있게 했습니다.
몇 번씩 실행 결과를 봐가면서 수정한 코드라서 구멍이 있을 수 있습니다.;;
덧..
코드를 작성하고 공개할 때 마다 느끼지만 부끄럽습니다. 이게 맞는건지도 모르겠고..
그냥 이것저것 브라우저에서 실행해보고 되면 공개 하니까요..;
지적할 부분이나 개선할 부분이 있다면 꼭 댓글 부탁드립니다.
워 작동 잘 되네요
천재님 역시 대단!!!
그런데 저 prototype은 처음 보는 구문이군요 으흐흐흐흐
얼렁 javascript 공부 열심히 해서 이븐옹처럼 뛰어난 고수가 되고 싶어요!!!
_-).. 단골 방문 고갱님 감사합니다. ㅋ