인스턴스로 바로가기
1000억까지 씁니다.
/**
* @author jaSON
* 숫자 1~1억을 다음과 같이 한자로 변경합니다. 예: 123->백이십삼
* @param [num] $num [ 숫자 ]
* @return [문자열] [문자열]
*/
함수 numToWord($num)
{
$chiNum = array('제로', '1', '2', '3' , '4', '5', '6', '7', '8', '9');
$chiUni = array('','10', 'hundred', 'thousand', ' Wan', 'Billion', 'Ten', 'Hundred', 'Thousand');
$chiStr = '';
$num_str = (string)$num;
$count = strlen($num_str);
$last_flag = true; //이전 것이 0인지 여부
$zero_flag = true; //첫 번째가 0인지
$ temp_num = null; //임시번호
$chiStr = '';//접합 결과
if ($count == 2) {//두자리
$temp_num = $num_str[0];
$chiStr = $temp_num == 1 ? $chiUni[1] : $chiNum[$temp_num].$chiUni[1];
$temp_num = $num_str[1];
$chiStr .= $ temp_num == 0 ? '' : $chiNum[$temp_num];
}else if($count > 2){
$index = 0;
for ($i=$count-1; $ i >= 0 ; $i--) {
$temp_num = $num_str[$i];
if ($temp_num == 0) {
if (!$zero_flag && !$last_flag ) {
$chiStr = $chiNum[$temp_num]. $chiStr;
$last_flag = true;
}
}else{
$chiStr = $chiNum[$temp_num].$ chiUni [$index%9] .$chiStr;
$zero_flag = false;
$last_flag = false;
}
$index ++;
}
} else {
$chiStr = $chiNum[$num_str[0]];
}
return $chiStr;
}
$num = 150;
echo numToWord($num);
위 내용은 1억~1억이라는 숫자를 한자로 변환하는 PHP를 소개한 내용입니다. 예를 들어 150을 150으로 변환하는 내용도 포함되어 있어 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.