테스트 사이트 - 개발 중인 베타 버전입니다

숫자를 한글로 변환

· 11년 전 · 8874 · 4
허접하지만 만들어보았습니다!

------------------------------------------------------------------------------------------------
1. 소스
------------------------------------------------------------------------------------------------
//# 숫자를 한글로 변환
Function getConvertNumberToKorean($_number)
{
// 0부터 9까지의 한글 배열
$number_arr = array('','일','이','삼','사','오','육','칠','팔','구');

// 천자리 이하 자리 수의 한글 배열
$unit_arr1 = array('','십','백','천');

// 만자리 이상 자리 수의 한글 배열
$unit_arr2 = array('','만','억','조','경','해');

// 결과 배열 초기화
$result = array();

// 인자값을 역순으로 배열한 후, 4자리 기준으로 나눔
$reverse_arr = str_split(strrev($_number), 4);

foreach($reverse_arr as $reverse_idx=>$reverse_number){
// 1자리씩 나눔
$convert_arr = str_split($reverse_number);
$convert_idx = 0;

foreach($convert_arr as $split_idx=>$split_number){
// 해당 숫자가 0일 경우 처리되지 않음
if(!empty($number_arr[$split_number])){
// 0부터 9까지 한글 배열과 천자리 이하 자리 수의 한글 배열을 조합하여 글자 생성
$result[$result_idx] = $number_arr[$split_number].$unit_arr1[$split_idx];

// 반복문의 첫번째에서는 만자리 이상 자리 수의 한글 배열을 앞 전 배열에 연결하여 조합
if(empty($convert_idx)) $result[$result_idx] .= $unit_arr2[$reverse_idx];
++$convert_idx;
}

++$result_idx;
}
}

// 배열 역순으로 재정렬 후 합침
$result = implode('', array_reverse($result));

// 결과 리턴
return $result;
}


------------------------------------------------------------------------------------------------
2. 예제
------------------------------------------------------------------------------------------------
실행: getConvertNumberToKorean(12345);
결과: 일만이천삼백사십오

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 4개

오호 이런 기막힌 생각을!!!
감사합니다.~
11년 전
언젠간 써먹을 수있는 자료인것 같습니다. 유용하게 사용하겠습니다.
굿입니다.
잘 작동합니다.
공개해 주셔서 감사합니다~
많이 늦었지만 유용하게 잘쓰겠습니다~!! $number_arr 만 숫자로 바꿔서 사용해봤습니다

게시글 목록

번호 제목
18200
18195
18193
18181
18179
18173
18170
18164
18158
18155
18152
18151
18150
18140
18139
18138
18131
18130
18120
18119
18118
18117
18116
18111
18110
18108
18107
18106
18100
18090