文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>PHP中实现数字金额到中文大写字符的转换

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

时间:2007-02-17  来源:PHP爱好者

P>         在下在开发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<$slen) {
$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;
?>
诸位有什么好的意见,请与我联系([email protected])。

phpfans.net收集整理
php爱好者站 http://www.phpfans.net php动态|php基础|php进阶|php模板.
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载