숫자를 한글로 변환
숫자를 한글로 변환해서 출력해야 하는 경우가 있습니다.
아래 자료를 참조하시어 프로그램에 반영하시면 도움이 될 듯 합니다.
제가 작성한 프로그램은 아니고, 예전에 인터넷에서 참조하여 작성한 내용인데, 어느분의 것인지 출처를 모르겠네요.
아시는 분은 댓글에 부탁드립니다.
[참조소스]
function num2kor($num)
{
$ret = "";
if(!is_numeric($num))
{
return 0;
}
$arr_number = strrev($num);
for($i =strlen($arr_number)-1; $i>=0; $i--)
{
/////////////////////////////////////////////////
// 현재 자리를 구함
$digit = substr($arr_number, $i, 1);
///////////////////////////////////////////////////////////
// 각 자리 명칭
switch($digit)
{
case '-' : $ret .= "(-) ";
break;
case '0' : $ret .= "";
break;
case '1' : $ret .= "일";
break;
case '2' : $ret .= "이";
break;
case '3' : $ret .= "삼";
break;
case '4' : $ret .= "사";
break;
case '5' : $ret .= "오";
break;
case '6' : $ret .= "육";
break;
case '7' : $ret .= "칠";
break;
case '8' : $ret .= "팔";
break;
case '9' : $ret .= "구";
break;
}
if($digit=="-") continue;
///////////////////////////////////////////////////////////
// 4자리 표기법 공통부분
if($digit != 0)
{
if($i % 4 == 1)$ret .= "십";
else if($i % 4 == 2)$ret .= "백";
else if($i % 4 == 3)$ret .= "천";
}
///////////////////////////////////////////////////////////
// 4자리 한자 표기법 단위
if($i % 4 == 0)
{
if( floor($i/ 4) ==0)$ret .= "";
else if(floor($i / 4)==1)$ret .= "<b>만</b> ";
else if(floor($i / 4)==2)$ret .= "<b>억</b> ";
else if(floor($i / 4)==3)$ret .= "<b>조</b> ";
else if(floor($i / 4)==4)$ret .= "<b>경</b> ";
else if(floor($i / 4)==5)$ret .= "<b>해</b> ";
else if(floor($i / 4)==6)$ret .= "<b>자</b> ";
else if(floor($i / 4)==7)$ret .= "<b>양</b> ";
else if(floor($i / 4)==8)$ret .= "<b>구</b> ";
else if(floor($i / 4)==9)$ret .= "<b>간</b> ";
else if(floor($i / 4)==10)$ret .= "<b>정</b> ";
else if(floor($i / 4)==11)$ret .= "<b>재</b> ";
else if(floor($i / 4)==12)$ret .= "<b>극</b> ";
else if(floor($i / 4)==13)$ret .= "<b>항하사</b> ";
else if(floor($i / 4)==14)$ret .= "<b>아승기</b> ";
else if(floor($i / 4)==15)$ret .= "<b>나유타</b> ";
else if(floor($i / 4)==16)$ret .= "<b>불가사의</b> ";
else if(floor($i / 4)==16)$ret .= "<b>무량대수</b> "; }
}
return $ret;
}