コードをコピー コードは次のとおりです:
//数値を漢字に変換します (1210 から 1210 まで)。
$num = "842105580";//9 桁の数字
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 =
for($i=0; $ i{
$arr[$i] = $abcd{$i};
$arrlen = count($arr); $j=0; $j{
$ch = n2c($arr[$arrlen-1-$j]); //中国語の文字を後ろから前に変換します>echo $ch;
echo "" ;
if($ch == "zero" && $flag == 0){ //最初のゼロの場合
$flag = 1;このビットはゼロです
$str = $ ch.$str; //中国語の文字列を追加します
}elseif($ch == "zero"){ //そうでない場合最初のゼロ
Continue;
}
$flag = 0; //このビットはゼロではありません
switch($j) {
case 0: $str = $ch_end = 0; Break; //最初のビット (最後の) は "ゼロ" で終わりません
case 1: $str = $ch."十".$str; // 2 番目の桁
2: $str = $ch."hundred".$ str; //3 桁目
case 3: $str = $ch."千".$str; //4 桁目}
}
if($flag_end == 1) //「ゼロ」で終わる場合
{
mb_internal_encoding("UTF-8");
$str = mb_substr( $str, 0, mb_strlen($str)-1); //「ゼロ」を削除します
}
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); //エコー $y;
$wsbq = substr ($num_real, -8, 4);
$a = num_r($gsbq) ));
$b = num_r(del0( $wsbq))."100 万";
$c = num_r(del0($y))."10 億"; ;= 8 && $numlen >= 5) // "10,000" 以上の場合
{
$wsbq = substr($num_real, 0, $numlen-4); = substr($num_real, -4);
$a = num_r(del0($gsbq));
$b = num_r(del0($wsbq))."万"; "";
}elseif($numlen {
$gsbq = substr( $num_real, -$numlen); $a = num_r(del0($gsbq));
$b=" ";
}
$c.$b.$a; 🎜>return $ch_num;
echo $num."" ; //数字
echo num2ch($num); //漢字
echo ""; "1240");