ホームページ  >  記事  >  バックエンド開発  >  数値を漢字に変換するための PHP 関数アルゴリズム

数値を漢字に変換するための PHP 関数アルゴリズム

巴扎黑
巴扎黑オリジナル
2016-11-24 13:52:041087ブラウズ

/***********************数字を漢字に変換***********************/

function del0($num) //数値フィールドの前の0を削除します

{

Return "".intval($num);


}


function n2c($x) //単一の数字を漢字に変換


{

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

Return $arr_n[$x];

}


function num_r( $abcd) //読み取り値(4桁)

$arr= array();

$str = ""; //読み取り後の漢字値

$flag = 0;ビットはゼロです

$flag_end = 1; //「ゼロ」で終わるかどうか

$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]); //漢字を後ろから前に変換します

//echo $ch;

//echo "
" ;

if($ch == "Zero" && $flag == 0){ //最初のゼロの場合

$flag = 1 // このビットはゼロ

$str = $ch.$ str; // 漢字の数値文字列

を追加します

ゼロ

スイッチ " Ten".$str; //2 桁目

.$str;break; // 4 桁目

;

$str = mb_substr($str, 0, mb_strlen($str)-1); //「ゼロ」を削除

}

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."
";

if ($ numLen & gt; = 9) // 9 ビットの場合は、「1 億」ビットを読み取ります

$ y = substr ($ num_real, -9, 1)

// echo $ y

; = 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))." 1 億";

}elseif($numlen <= 8 && $numlen >= 5) // 大きい場合「10,000」以上

gsbq));

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

$c="";

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

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

return $ch_num;

}

/******************数字の漢字変換終了***********************/

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。