/***********************숫자를 한자로 변환***********************/
function del0($num) //숫자 필드 앞의 0 제거
{
return "" .intval( $num);
}
function n2c($x) //단일 숫자 변경 한자로
{
$arr_n = array("zero","one","two"," three","four" ,"5","6" ","7","8","9","10");
return $arr_n[$x];
}
function num_r($abcd) //값 읽기(4자리)
{
$arr= array();
$str = " "; //읽은 한자 값
$flag = 0; //비트가 0인지 여부
$flag_end = 1; "0" 사용
$size_r = strlen($abcd);
for($i=0; $i
{
$arr[ $i] = $abcd{$i};
}
$arrlen = count($arr);
for($j =0; $j<$ arrlen; $j++)
{
$ch = n2c($arr[$arrlen-1-$j]); 앞으로
//echo $ch;
//echo "
";
if($ch == "zero" && $flag == 0){ //A 0인 경우
> = 0; //이 비트는 0이 아닙니다
switch($j) {
케이스 0: $str = $ch_end = 0; end ), "0"으로 끝나지 않음
사례 1: $str = $ch."十".$str; //두 번째 숫자
사례 2: $ str = $ ch."hundred".$str; //세 번째 숫자
사례 3: $str = $ch."千".$str; //네 번째 숫자
}
}
if($flag_end == 1) //"0"으로 끝나는 경우
{
mb_internal_encoding( "UTF-8");
$str = mb_substr($str, 0, mb_strlen($str)-1); //"0" 제거
}
if( $arrlen == 2 && $arr[0] == 1){
$str = substr($str,2);
}
return $str;
}
function num2ch($num) //전체 읽기 변환 { $ num_real = del0($num);//앞의 "0" 제거 $numlen = strlen($num_real); //echo "numlen=".$numlen."< ;br> ;";
if($numlen >= 9)//9자리로 가득 차 있으면 "10억"자리 읽기
{
$ y=substr($ num_real, -9, 1);
//echo $y;
$wsbq = substr($num_real, -8, 4);
$gsbq = substr ($num_real, -4);
$a = num_r(del0($gsbq));
$b = num_r(del0($wsbq))."万";
$c = num_r(del0($y))."Billion";
}elseif($numlen <= 8 && $numlen >= 5) // "만"보다 크거나 같은 경우 "
{
$wsbq = substr($num_real, 0, $numlen-4);
$gsbq = substr ($num_real, -4);
$a = num_r(del0($gsbq));
$b = num_r(del0($wsbq))."万";
$c="";
}elseif($numlen <= 4) //"천"보다 작거나 같은 경우
{
$a = num_r(del0($gsbq));
$b="";
$c="";
}
$ch_num = $c.$b.$a;
return $ch_num;
}
/******************숫자를 한자로 변환 끝*************************/