금액을 한글로 변환하는 함수
parameter값중 정수자리 숫자만을 한글로 반환한다.
다른이들것을 참조하여 최적화 하였음.
/**
* @title 금액을 한글로 반환
* @since 2015-04-07
* @author y2twind@gmail.com
* @version 0.1
* @param amt 금액
* @returns {String}
*/
function getAmountKorean() {
var args = arguments;
var arrDigit1 = Array('', '일', '이', '삼', '사', '오', '육', '칠', '팔', '구');
var arrDigit3 = Array('', '십', '백', '천');
var arrDigit4 = Array('', '만', '억', '조', '경', '해', '자', '양', '구', '간', '정', '재', '극');
var digitIdx = 0; //자릿수
var digit4Idx = 0; //arrDigit4의 index
var digit4Rest = 0; //4로 나눈 나머지
var digit4Used = false; //arrDigit4 사용여부
var rslt = ''; //결과
amt = args[0];
amt = amt.toString().replace(/[^\d\.]/g, '').replace(/\.\d+$/g, '');
for(var idx = amt.length - 1; idx >= 0; idx--) {
digit4Rest = digitIdx%4;
if(digitIdx && !digit4Rest) {
digit4Idx++;
digit4Used = false;
}
if(amt[idx] > 0) {
if(!digit4Used) {
rslt = arrDigit4[digit4Idx] + rslt;
digit4Used = true;
}
rslt = arrDigit3[digit4Rest] + rslt;
rslt = arrDigit1[amt[idx]] + rslt;
}
digitIdx++;
}
return rslt + '원';
}