首页 > php教程 > PHP源码 > 正文

PHP人民币金额转大写实例代码_php技巧

PHP中文网
发布: 2016-05-23 09:53:57
原创
1466人浏览过

一个非常有趣的php人民币金额数字转中文大写实例代码与大家分享,感兴趣的小伙伴可以参考一下。

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)<2) $number.='0'; 
  $arr=array_reverse(str_split($number)); 
  $data=''; 
  $zero_num=false; 
  foreach ($arr as $k=>$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::ParseNumber(1234567.5);
登录后复制

结果:壹佰贰拾叁万肆仟伍佰陆拾柒元伍角

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号