재우니의 블로그

 

javascript 로 숫자 금액을 한글 표현으로 변환하는 함수

 

function convertToKoreanNumber(num) {
  var result = '';
  var digits = ['영','일','이','삼','사','오','육','칠','팔','구'];
  var units = ['', '십', '백', '천', '만', '십만', '백만', '천만', '억', '십억', '백억', '천억', '조', '십조', '백조', '천조'];
  
  var numStr = num.toString(); // 문자열로 변환
  var numLen = numStr.length; // 문자열의 길이
  
  for(var i=0; i<numLen; i++) {
    var digit = parseInt(numStr.charAt(i)); // i번째 자릿수 숫자
    var unit = units[numLen-i-1]; // i번째 자릿수 단위
    
    // 일의 자리인 경우에는 숫자를 그대로 한글로 변환
    if(i === numLen-1 && digit === 1 && numLen !== 1) {
      result += '일';
    } else if(digit !== 0) { // 일의 자리가 아니거나 숫자가 0이 아닐 경우
      result += digits[digit] + unit;
    } else if(i === numLen-5) { // 십만 단위에서는 '만'을 붙이지 않습니다.
      result += '만';
    }
  }
  
  return result;
}

 

 

var num = 123456789;
var koreanNumber = convertToKoreanNumber(num);
console.log(koreanNumber); // 일억이천삼백사십오만육천칠백팔십구