>백엔드 개발 >PHP 튜토리얼 >숫자를 한자로 변환하는 PHP 함수 알고리즘

숫자를 한자로 변환하는 PHP 함수 알고리즘

巴扎黑
巴扎黑원래의
2016-11-24 13:52:041148검색

/***********************숫자를 한자로 변환***********************/

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;

}

/******************숫자를 한자로 변환 끝*************************/

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.