숫자를 한글로 변환하는 함수 예) 4500 -> 사천오백 > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

숫자를 한글로 변환하는 함수 예) 4500 -> 사천오백 정보

기타 숫자를 한글로 변환하는 함수 예) 4500 -> 사천오백

본문


function jsConvertNumberToHangul( varNum )
{
 // 리턴할 문자열
 var returnStr = "" ;

 // 음수일 때는 에러
 if ( eval(varNum) < 0 ) {
  return returnStr ;
 }

 // 넘어온 숫자를 문자로 변환
 var numLen = varNum.length ;
 // 변환된 문자를 앞에서 부터 한자씩 잘라서 보관할 변수
 var oneChar = null ;
 var isDone1 = true ;
 var isDone2 = true ;
 var isDone3 = true ;
 var isDone4 = true ;
 var isDone5 = false ;
 for ( var inx = 0 ; inx < numLen ; inx++ ) {
  oneChar = varNum.substring( inx, inx+1 ) ;
  isDone5 = false ;

  if ( oneChar == "0" ) {
   // 아무일도 안함
  } else if ( oneChar == "1" ) {
   returnStr = returnStr + "일" ;
   isDone5 = true ;
  } else if ( oneChar == "2" ) {
   returnStr = returnStr + "이" ;
   isDone5 = true ;
  } else if ( oneChar == "3" ) {
   returnStr = returnStr + "삼" ;
   isDone5 = true ;
  } else if ( oneChar == "4" ) {
   returnStr = returnStr + "사" ;
   isDone5 = true ;
  } else if ( oneChar == "5" ) {
   returnStr = returnStr + "오" ;
   isDone5 = true ;
  } else if ( oneChar == "6" ) {
   returnStr = returnStr + "육" ;
   isDone5 = true ;
  } else if ( oneChar == "7" ) {
   returnStr = returnStr + "칠" ;
   isDone5 = true ;
  } else if ( oneChar == "8" ) {
   returnStr = returnStr + "팔" ;
   isDone5 = true ;
  } else if ( oneChar == "9" ) {
   returnStr = returnStr + "구" ;
   isDone5 = true ;
  }

  if ( ((numLen-inx) % 4) == 0 && oneChar != "0" ) {
   returnStr = returnStr + "천" ;
  } else if ( ((numLen-inx) % 4) == 3 && oneChar != "0" ) {
   returnStr = returnStr + "백" ;
  } else if ( ((numLen-inx) % 4) == 2 && oneChar != "0" ) {
   returnStr = returnStr + "십" ;
  } else if ( ((numLen-inx) % 4) == 1 ) {
   if ( numLen >= 17 && isDone1 && isDone5 ) {
    returnStr = returnStr + "경" ;
    isDone1 = false ;
   } else if ( numLen >= 13  && isDone2 && isDone5 ) {
    returnStr = returnStr + "조" ;
    isDone2 = false ;
   } else if ( numLen >= 9  && isDone3 && isDone5 ) {
    returnStr = returnStr + "억" ;
    isDone3 = false ;
   } else if ( numLen >= 5  && isDone4 && isDone5 ) {
    returnStr = returnStr + "만" ;
    isDone4 = false ;
   }
  }
 }

 return returnStr ;
}

 
[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]
추천
1
  • 복사

댓글 0개

© SIRSOFT
현재 페이지 제일 처음으로