- [php] 숫자를 한글로 바꾸기 345 -> 삼백사십오 목차
반응형
숫자를 한글로 바꿔야할 일이 필요해 함수를 하나 만들었다.
숫자를 한글로 바꾼다는의미가 제목처럼 1350이란 숫자가있으면 이걸 천삼백오십 이라는 문자열로 바꾼다는거다.
php가 이런거 까지 함수로 만들어주진 않으니.. 직접 만들자.
function getKoreaAmt($amount){
if($amount == '') return '';
if(substr($amount, 0, 1) == '-'){
$amount = substr($amount, 1);
}
$size = strlen($amount);
$korAmt = '';
$num = array('', '일', '이', '삼', '사', '오', '육', '칠', '팔', '구');
$dan = array('', '십', '백', '천', '만', '십', '백', '천', '억', '십',
'백', '천', '조', '십', '백', '천', '경', '일', '십', '백', '천');
$cnt = 0;
while(True){
$mod = $amount % 10;
$amount = floor($amount / 10);
if($mod == 0){
if($dan[$cnt] == '만' or $dan[$cnt] == '억' or $dan[$cnt] == '조' or $dan[$cnt] == '경'){
$danIndex = $cnt;
}else{
$danIndex = 0;
}
}else{
$danIndex = $cnt;
}
$korAmt = $num[$mod].$dan[$danIndex].$korAmt;
$cnt++;
if($amount == 0){
break;
}
}
return $korAmt;
}
사실 조까지도 나오기 힘들기 때문에 내 경우엔 9999경 까지만 가능하게 함수를 만들었다.
무한반복문을 돌면서 한자리씩 확인하여 단위와 숫자를 합치는 방식으로 짰으며
10씩 계속 나눠 값이 0이 될때까지 반복하면 끝이난다.
숫자에 - 가 붙어있을 때도 예외처리 해놨기 때문에 문제없이 동작한다.
'개발' 카테고리의 다른 글
[CHAT GPT] chat gpt api사용해보기 - 2 (이미지) (0) | 2023.05.23 |
---|---|
[CHAT GPT] chat gpt api사용해보기 (0) | 2023.05.22 |
[php] 특정 문자가 포함돼있는지 확인하는법 (0) | 2023.05.16 |