php人民币数字转大写数字的解决办法

内容摘要
这篇文章主要为大家详细介绍了php人民币数字转大写数字的简单示例,具有一定的参考价值,可以用来参考一下。

对php人民币数字转中文币制简单示例对此感兴趣的朋友,看看idc笔记
文章正文

这篇文章主要为大家详细介绍了php人民币数字转大写数字的简单示例,具有一定的参考价值,可以用来参考一下。

对php人民币数字转中文币制简单示例对此感兴趣的朋友,看看idc笔记做的技术笔记!

/**
 * 
 * @param 
 * @arrange (www.idcnote.com)
 **/
/**
*  人民币数字转中文币制
* @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人民币数字转大写数字的简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!