숫자를 한글로 변환

허접하지만 만들어보았습니다!

------------------------------------------------------------------------------------------------
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);
결과: 일만이천삼백사십오
|

댓글 2개

오호 이런 기막힌 생각을!!!
감사합니다.~
언젠간 써먹을 수있는 자료인것 같습니다. 유용하게 사용하겠습니다.
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
11년 전 조회 1,435
11년 전 조회 996
11년 전 조회 928
11년 전 조회 1,327
11년 전 조회 1,657
11년 전 조회 2,087
11년 전 조회 2,403
11년 전 조회 1,305
11년 전 조회 1,615
11년 전 조회 1,557
11년 전 조회 1,166
11년 전 조회 973
11년 전 조회 2,359
11년 전 조회 1,605
11년 전 조회 3,431
11년 전 조회 1,379
11년 전 조회 1,211
11년 전 조회 2,306
11년 전 조회 2,956
11년 전 조회 2,303
11년 전 조회 3,344
11년 전 조회 1,733
11년 전 조회 3,478
11년 전 조회 999
11년 전 조회 1,304
11년 전 조회 2,153
11년 전 조회 2,483
11년 전 조회 1,148
11년 전 조회 3,008
11년 전 조회 3,177
11년 전 조회 1,742
11년 전 조회 2,406
11년 전 조회 1,245
11년 전 조회 1,584
11년 전 조회 1,287
11년 전 조회 2,493
11년 전 조회 2,388
11년 전 조회 1,359
11년 전 조회 5,493
11년 전 조회 2,536
11년 전 조회 3,257
11년 전 조회 2,115
11년 전 조회 1,161
11년 전 조회 2,218
11년 전 조회 2,370
11년 전 조회 2,049
11년 전 조회 1,657
11년 전 조회 1,171
11년 전 조회 2,034
11년 전 조회 2,794
11년 전 조회 1,484
11년 전 조회 2,998
11년 전 조회 1,941
11년 전 조회 4,698
11년 전 조회 2,030
11년 전 조회 2,693
11년 전 조회 3,919
11년 전 조회 1,800
11년 전 조회 2,640
11년 전 조회 1,021
11년 전 조회 2,048
11년 전 조회 4,689
11년 전 조회 1,834
11년 전 조회 2,058
11년 전 조회 971
11년 전 조회 1,371
11년 전 조회 1,695
11년 전 조회 1,803
11년 전 조회 1,672
11년 전 조회 2,438
11년 전 조회 1,376
11년 전 조회 3,285
11년 전 조회 3,468
11년 전 조회 2,017
11년 전 조회 4,980
11년 전 조회 1만
11년 전 조회 2,841
11년 전 조회 1,336
11년 전 조회 3,448
11년 전 조회 2,791
11년 전 조회 2,300
11년 전 조회 1,214
11년 전 조회 4,428
11년 전 조회 906
11년 전 조회 1,420
11년 전 조회 1,861
11년 전 조회 2,079
11년 전 조회 2,055
11년 전 조회 4,818
11년 전 조회 1,839
11년 전 조회 1,048
11년 전 조회 2,254
11년 전 조회 1,795
11년 전 조회 2,822
11년 전 조회 1,056
11년 전 조회 1,754
11년 전 조회 1,663
11년 전 조회 1,803
11년 전 조회 1,413
11년 전 조회 1,365