View Single Post
  #1   IP: 112.84.220.79
Old 2016-06-10, 06:59 AM
Chilly Chilly is offline
初级会员
 
Join Date: 2010-04-06
Posts: 2
Chilly 现在声名狼藉
Default 人民币数字转中文币制

[php]代码库

Code:





/** 


*  人民币数字转中文币制 


* @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; 


}
Reply With Quote