您现在的位置是:首页 > 学无止境 > PHPPHP

php如何实现人民币数字转大写

小郭2020-10-18 11:10:32PHP2102人已围观

简介php人民币转大写,人民币数字转大写,PHP如何实现人民币数字转大写,小郭为你分享人民币数字转大写的方法

人民币数字转大写还是很常用的,其实有很多种方法,今天小郭给大家分享一个用PHP实现人民币数字转大写的方法,下面直接上代码:

/**
 * 
 * @param 
 * @arrange (小郭博客) www.d163.net
 **/
/**
*  人民币数字转中文币制
* @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;
}

好了,以上就是PHP实现人民币数字转大写的方法了,希望可以帮助有需要的小伙伴。

小郭博客

标签云 更多

关闭
QQ 微信 支付宝扫一扫打赏