본문으로 바로가기

금액을 한글로 변환

category Backend/PHP 2020. 7. 10. 15:03
728x90
반응형
function num2han($NUM){

  $aNum  = array('', '일', '이', '삼', '사', '오', '육', '칠', '팔', '구');
  $unitF = array('', '만', '억', '조', '경');
  $unitO = array('', '십', '백', '천');

  $aRs   = array();

  $NUM = str_replace(',','',$NUM);
  $splitF = str_split(strrev((string)$NUM),4);

  for($i=0;$i<count($splitF);$i++){
    $aTemp  = array();
    $splitO = str_split((string)$splitF[$i], 1);
    for($j=0;$j<count($splitO);$j++){
      $u    = (int)$splitO[$j];
      if($u > 0) $aTemp[] = $aNum[$u].$unitO[$j];
    }
    if(count($aTemp) > 0) $aRs[] = implode('', array_reverse($aTemp)).$unitF[$i];
  }
  return implode(' ', array_reverse($aRs));
}

금액 : 1,093,836,981 일 때

num2han("1,093,836,981") => "일십억 구천삼백팔십삼만 육천구백팔십일"

만약 공백을 없애고 싶으면 return 할 때 ' ' 를 ''로 수정

혹은

모든 단위를 띄워쓰기할 경우 안쪽 implode 까지 '' 를 ' '로 수정

728x90
반응형

'Backend > PHP' 카테고리의 다른 글

MYSQL PASSWORD와 비밀번호 비교  (0) 2020.09.02
CURL SSL 무시 및 multipart form-data POST 요청  (0) 2020.07.31
PHP Debug Print  (0) 2020.06.26
아스키코드 제어문자 삭제  (0) 2020.05.22
PHP 검색어 마크 표시  (0) 2020.05.14