금액 관련 숫자를 한글로 변환하기 입니다. > 토크

토크

개발과 관련된 어떤 얘기도 괜찮습니다.

금액 관련 숫자를 한글로 변환하기 입니다. 정보

JavaScript 금액 관련 숫자를 한글로 변환하기 입니다.

본문


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 ;
}
 

추천
0
비추천
0
  • 복사

댓글 0개

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