PHP中实现数字金额到中文大写字符的转换_PHP教程

WBOY
Freigeben: 2016-07-13 17:22:04
Original
855 Leute haben es durchsucht


在下在开发PHP应用程序的过程中,经常遇到把数字金额转换为大写中文字符的任务。本以为网上一定有编好的PHP函数。但找来找去,都没有找到。 无奈,只好自己动手了。现在就把它拿出来与诸位分享吧。希望能从此改变 “找来找去”都找不到的历史。

function num2rmb ($num){ file://把数字金额转换成中文大写数字的函数
$c1="零壹贰叁肆伍陆柒捌玖";
$c2="分角元拾佰仟万拾佰仟亿";
$num=round($num,2);
$num=$num*100;
if(strlen($num)>10){
return "oh,sorry,the number is too long!";
}
$i=0;
$c="";
while (1){
if($i==0){
$n=substr($num,strlen($num)-1,1);
}else{
$n=$num %10;
}
$p1=substr($c1,2*$n,2);
$p2=substr($c2,2*$i,2);
if($n!=0 || ($n==0 &&($p2==亿 || $p2==万 || $p2==元 ))){
$c=$p1.$p2.$c;
}else{
$c=$p1.$c;
}
$i=$i+1;
$num=$num/10;
$num=(int)$num;
if($num==0){
break;
}
}//end of while| here, we got a chinese string with some useless character
f//we chop out the useless characters to form the correct output
$j = 0;
$slen=strlen($c);


while ($j $m = substr($c,$j,4);
if ($m==零元 || $m==零万 || $m==零亿 || $m==零零){
$left=substr($c,0,$j);
$right=substr($c,$j+2);
$c = $left.$right;
$j = $j-2;
$slen = $slen-2;
}
$j=$j+2;
}
if(substr($c,strlen($c)-2,2)==零){
$c=substr($c,0,strlen($c)-2);
} // if there is a 0 on the end , chop it out
return $c."整";
}// end of function
?>

$out=num2rmb(1001.4570);
echo $out;
?>
诸位有什么好的意见,请与我联系(cyman20@sina.com)。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/532361.htmlTechArticle在下在开发PHP应用程序的过程中,经常遇到把数字金额转换为大写中文字符的任务。本以为网上一定有编好的PHP函数。但找来找去,都没有...
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!