[php]代码库
/**
* 人民币数字转中文币制
* @param string $data 待转换的数字
* @return string 返回转换后的中文数字
*/
function numberTocncap($data){
$capnum = array( "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" );
$capdigit = array( "", "拾", "佰", "仟" );
$subdata = explode( ".", $data );
$yuan = $subdata[0];
$j = 0;
$nonzero = 0;
for( $i=0; $i<strlen($subdata[0]); $i++ ){
if( $i==0 ){ //确定个位
if($subdata[1]){
$cncap = (substr($subdata[0],-1,1)!=0) ? "元" : "元零";
}else{
$cncap = "元";
}
}
if( $i==4 ){ //确定万位
$j = 0;
$nonzero = 0;
$cncap = "万" . $cncap;
}
if($i==8){ //确定亿位
$j = 0;
$nonzero = 0;
$cncap = "亿" . $cncap;
}
$numb = substr($yuan,-1,1); //截取尾数
$cncap = ($numb) ? $capnum[$numb].$capdigit[$j].$cncap : (($nonzero)?"零".$cncap:$cncap);
$nonzero = ($numb) ? 1 : $nonzero;
$yuan = substr($yuan,0,strlen($yuan)-1); //截去尾数
$j++;
}
if($subdata[1]){
$chiao=(substr($subdata[1],0,1))?$capnum[substr($subdata[1],0,1)]."角":"零";
$cent=(substr($subdata[1],1,1))?$capnum[substr($subdata[1],1,1)]."分":"零分";
}
$cncap .= $chiao.$cent."整";
$cncap = preg_replace("/(零)+/","\\1",$cncap); //合并连续“零”
return $cncap;
}