코드 복사 코드는 다음과 같습니다.
//숫자를 한자로 변환합니다. 예를 들어 1210을 천이로 변환합니다. 백십
$num = "842105580";//9자리 숫자
function del0($num) //숫자 필드 앞의 0을 제거합니다
{
""를 반환합니다. intval($num);
}
function n2c($x) //숫자 하나가 한자로 변경됩니다.
{
$arr_n = array("zero","one"," 2","3","4","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<$size_r; $i )
{
$arr[$i] = $abcd{$i};
$arrlen = count($arr); >for($j=0; $j<$arrlen ; $j )
{
$ch = n2c($arr[$arrlen-1-$j]) //한자를 뒤에서부터로 변환합니다. front
echo $ch;
echo "" ;
if($ch == "zero" && $flag == 0){ //첫 번째 0인 경우
$flag = 1 ; //이 비트는 0입니다
$str = $ ch.$str; //한자 숫자 문자열 추가
continue
}elseif($ch == "zero"){ // 첫 번째 0이 아닙니다
continue
}
$flag = 0; //이 비트는 0이 아닙니다
switch($j) {
case 0: $str = $ch; $flag_end = 0; break; //첫 번째 비트(마지막)는 "0"으로 끝나지 않습니다.
경우 1: $str = $ch."十".$str; 🎜>케이스 2: $str = $ch."hundred".$ str; break; //세 번째 숫자
케이스 3: $str = $ch."千".$str; //네 번째 digit
}
}
if($flag_end == 1) //"0"으로 끝나는 경우
{
mb_internal_encoding("UTF-8")
$str = mb_substr($str, 0, mb_strlen($str)-1); //"0" 제거
}
return $str;
}
function num2ch($num) //전체 읽기 변환
{
$num_real = del0($ num);//앞의 "0"을 제거합니다.
$numlen = strlen($num_real)
echo "numlen=".$numlen. "";
if($numlen >= 9) //9자리로 가득 찬 경우 "10억" 자리 읽기
{
$y=substr($num_real, -9, 1 );
//echo $y;
$wsbq = substr($num_real, -8, 4)
$gsbq = substr($num_real, -4); (del0($gsbq));
$b = num_r(del0( $wsbq))."백만";
$c = num_r(del0($y))."십억"
} elseif($numlen <= 8 && $numlen >= 5) // "10,000"보다 크거나 같은 경우
{
$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) //"천"보다 작거나 같은 경우
{
$gsbq = substr( $num_real, -$numlen );
$a = num_r(del0($gsbq));
$b=" ";
$c=""
$ch_num = $c.$b .$a;
return $ch_num;
echo $num."" ; //숫자
echo num2ch($num); //echo ""; 🎜>에코 num2ch("1240")
위 내용은 한자 코드의 내용을 포함하여 한자 코드 PHP 디지털을 한자 코드 알고리즘으로 소개한 내용이 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.