时时商务社区

标题: PHP人民币金额转大写实例代码 [打印本页]

作者: 新格网络    时间: 2018-2-14 05:42

            PHP人民币金额转大写,其实质就是数字转换成中文大写,测试了一下,非常有趣,随便输个数字,就可以将其大写打印出来,初学的朋友们试一下吧
//PHP人民币金额转大写
class Ext_Num2Cny{
static $basical = array(0=>"零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
static $advanced=array(1=>"拾","佰","仟");

public static function ParseNumber($number){
  $number=trim($number);
  if ($number>999999999999) return "数字太大,无法处理。抱歉!";
  if ($number==0) return "零";
  if(strpos($number,'.')){
   $number=round($number,2);
   $data=explode(".",$number);
   $data[0]=self::int($data[0]);
   $data[1]=self::dec($data[1]);
   return $data[0].$data[1];
  }else{
   return self::int($number).'整';
  }
}

public static function int($number){
  $arr=array_reverse(str_split($number));
  $data='';
  $zero=false;
  $zero_num=0;
  foreach ($arr as $k=>$v){
   $_chinese='';
   $zero=($v==0)?true:false;
   $x=$k%4;
   if($x && $zero && $zero_num>1)continue;
   switch ($x){
    case 0:
     if($zero){
      $zero_num=0;
     }else{
      $_chinese=self:basical[$v];
      $zero_num=1;
     }
     if($k==8){
      $_chinese.='亿';
     }elseif($k==4){
      $_chinese.='万';
     }
     break;  
    default:
     if($zero){
      if($zero_num==1){
       $_chinese=self:basical[$v];
       $zero_num++;
      }
     }else{
      $_chinese=self:basical[$v];
      $_chinese.=self:advanced[$x];
     }
   }
   $data=$_chinese.$data;
  }
  return $data.'元';
}
  
public static function dec($number){
  if(strlen($number)$v){
   $zero=($v==0)?true:false;
   $_chinese='';
   if($k==0){
    if(!$zero){
     $_chinese=self:basical[$v];
     $_chinese.='分';
     $zero_num=true;
    }
   }else{
    if($zero){
     if($zero_num){
      $_chinese=self:basical[$v];
     }
    }else{
     $_chinese=self:basical[$v];
     $_chinese.='角';
    }
   }
   $data=$_chinese.$data;
  }
  return $data;
}
}
//使用方法
$nun = new Ext_Num2Cny();
echo Ext_Num2Cny:arseNumber(1234567.5);
结果:壹佰贰拾叁万肆仟伍佰陆拾柒元伍角
希望本文对大家学习php编程有所帮助,
            
            
您可能感兴趣的文章:
  • PHP 金额数字转换成英文
  • 用PHP实现小写金额转换大写金额的代码(精确到分)
  • PHP人民币金额数字转中文大写的函数代码
  • PHP把数字转成人民币大写的函数分享
  • php格式化金额函数分享
  • php将金额数字转化为中文大写
  • jquery+php随机生成红包金额数量代码分享
            




    欢迎光临 时时商务社区 (http://bbs.4435.cn/) Powered by Discuz! X3.2