Javascript
Javascript - 숫자를 한글로
정리하고기록하자
2022. 2. 7. 13:42
반응형
숫자를 한글로 변경할 때 함수
var arrNumberWord = new Array("","일","이","삼","사","오","육","칠","팔","구");
// 10, 100, 100 자리수 한글 표시
var arrDigitWord = new Array("","십","백","천");
// 만단위 한글 표시
var arrManWord = new Array("","만","억", "조");
// 함수 시작
function num2han(num) {
var num_value = num;
var num_minus = false;
// - 금액이 있을 수 있기 때문에 확인 한다.
if(num_value.toString().substr(0,1) == '-'){
num_value = num_value.toString().substr(1);
num_minus = true;
}
var num_length = num_value.toString().length;
if(isNaN(num_value) == true)
return;
var han_value = "";
var man_count = 0; // 만단위 0이 아닌 금액 카운트.
for(i=0; i < num_value.toString().length; i++){
// 1단위의 문자로 표시.. (0은 제외)
var strTextWord = arrNumberWord[num_value.toString().charAt(i)];
// 0이 아닌경우만, 십/백/천 표시
if(strTextWord != ""){
man_count++;
strTextWord += arrDigitWord[(num_length - (i+1)) % 4];
}
// 만단위마다 표시 (0인경우에도 만단위는 표시한다)
if(man_count != 0 && (num_length - (i+1)) % 4 == 0){
man_count = 0;
strTextWord = strTextWord + arrManWord[(num_length - (i+1)) / 4];
}
han_value += strTextWord;
}
if(num_value != 0)
// - 금액일 경우
// ex ) 500 일 때 : - 오백원
if(num_minus){
var minus = '-';
han_value = minus + han_value;
return han_value;
} else {
return han_value;
}
}
반응형