PHP function algorithm for converting numbers to Chinese characters

巴扎黑
Release: 2016-11-24 13:52:04
Original
1113 people have browsed it

/***********************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***********************/

Related labels:
php
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!