Home  >  Article  >  Backend Development  >  PHP function algorithm for converting numbers to Chinese characters

PHP function algorithm for converting numbers to Chinese characters

巴扎黑
巴扎黑Original
2016-11-24 13:52:041118browse

/***********************Convert numbers to Chinese characters***********************/

function del0($num) //Remove the 0 in front of the number field

{

Return "".intval($num);


}


function n2c($x) //Change a single number into a Chinese character


{

​ $arr_n = array("zero","one","two","three","four","five", "Six","Seven","Eight","Nine","Ten");

Return $arr_n[$x];

}


function num_r($abcd) //Read value (4 digits)

{

$arr= array();

$str = ""; //The Chinese character value after reading

$flag = 0; //Whether the bit is zero

$flag_end = 1; //Whether it ends with "zero"

$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]); //Convert Chinese characters from back to front

//echo $ch;

//echo "
";

if($ch == "Zero" && $flag == 0){ //If it is the first zero

            $flag = 1; //This bit is zero

                $str = $ch.$str; //Add Chinese character numerical string

                                                                                                                                        zero

switch " Ten".$str; break; //The second digit

                  case 2: $str = $ch. "hundred".$str; break; //       The third digit

                                                                                      Thousands".$str; break; //The fourth digit

                                                                                                                                     ;

                    $str = mb_substr($str, 0, mb_strlen($str)-1); //Remove "zero"

     }

if($arrlen == 2 && $arr[0] == 1 ){

$str = substr($str,2);

}

Return $str;

}

function num2ch($num) //Overall read conversion

{

$ num_real = del0($num);//Remove the leading "0"

$numlen = strlen($num_real);

//echo "numlen=".$numlen."
";

if ($ numLen & gt; = 9) // If you have nine bits, read "100 million" bit

{

$ 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))." 100 million";

  }elseif($numlen <= 8 && $numlen >= 5) //If Greater than or equal to "10,000"

                                                                                                                                                                                                                    gsbq));

$b = num_r(del0($wsbq))."万";

$c="";

}elseif($numlen <= 4) //If less than or equal to "thousand"

                                                                                                                                                                                          $gsbq = substr($num_real, -$numlen); }

$ch_num = $c.$b.$a;

return $ch_num;

}

/******************End of converting numbers to Chinese characters***********************/

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn