网络营销电子商务研究中心

网络营销电子商务研究中心 (https://www.0058.net/index.php)
-   PHP (https://www.0058.net/forumdisplay.php?f=75)
-   -   人民币数字转中文币制 (https://www.0058.net/showthread.php?t=5764)

Chilly 2016-06-10 06:59 AM

人民币数字转中文币制
 
[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;


}



All times are GMT +8. The time now is 07:54 PM.

Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.