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


Posted in PHP onOctober 02, 2015

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遍历数组的几种方法
Mar 22 PHP
PHP数据集构建JSON格式及新数组的方法
Nov 07 PHP
PHP运行环境配置与开发环境的配置(图文教程)
Jun 04 PHP
解析wamp5下虚拟机配置文档
Jun 27 PHP
PHP中执行MYSQL事务解决数据写入不完整等情况
Jan 07 PHP
php5.2 Json不能正确处理中文、GB编码的解决方法
Mar 28 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
Jun 23 PHP
Linux下php5.4启动脚本
Aug 03 PHP
PHP+jquery+ajax实现即时聊天功能实例
Dec 23 PHP
Laravel中服务提供者和门面模式的入门介绍
Nov 06 PHP
PHP实现简易计算器功能
Aug 28 PHP
laravel框架之数据库查出来的对象实现转化为数组
Oct 23 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
Oct 01 #PHP
php中preg_match的isU代表什么意思
Oct 01 #PHP
php 利用array_slice函数获取随机数组或前几条数据
Sep 30 #PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
Sep 30 #PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
Sep 30 #PHP
Session 失效的原因汇总及解决丢失办法
Sep 30 #PHP
解决php表单重复提交实现方法
Sep 29 #PHP
You might like
php MySQL与分页效率
2008/06/04 PHP
PHP查询附近的人及其距离的实现方法
2016/05/11 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
PHP扩展类型及安装方式解析
2020/04/27 PHP
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
JavaScript去除空格的几种方法
2006/10/03 Javascript
JS维吉尼亚密码算法实现代码
2010/11/09 Javascript
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
在js(jquery)中获得文本框焦点和失去焦点的方法
2012/12/04 Javascript
关于jquery css的使用介绍
2013/04/18 Javascript
火狐下table中创建form导致两个table之间出现空白
2013/09/02 Javascript
AngularJS入门教程之Cookies读写操作示例
2016/11/02 Javascript
js原生之焦点图转换加定时器实例
2016/12/12 Javascript
详解webpack+gulp实现自动构建部署
2017/06/29 Javascript
详解vue.js移动端导航navigationbar的封装
2017/07/05 Javascript
Dropify.js图片宽高自适应的方法
2017/11/27 Javascript
详解express + mock让前后台并行开发
2018/06/06 Javascript
vue移动端下拉刷新和上拉加载的实现代码
2018/09/08 Javascript
python实现log日志的示例代码
2018/04/28 Python
Python hashlib模块用法实例分析
2018/06/12 Python
Python实现爬虫从网络上下载文档的实例代码
2018/06/13 Python
Python垃圾回收机制三种实现方法
2020/04/27 Python
python zip()函数的使用示例
2020/09/23 Python
HolidayLettings英国:预订最好的度假公寓、别墅和自助式住宿
2019/08/27 全球购物
英国奢侈品在线精品店:Hervia
2020/09/03 全球购物
升国旗演讲稿
2014/09/05 职场文书
新闻发布会活动策划方案
2014/09/15 职场文书
党的群众路线对照检查材料范文
2014/09/24 职场文书
矛盾论读书笔记
2015/06/29 职场文书
高中生军训感言
2015/08/01 职场文书
大学生社会实践感想
2015/08/11 职场文书
2016中秋节晚会开场白
2015/11/26 职场文书
2016年第十九届推普周活动总结
2016/04/06 职场文书
Django实现WebSocket在线聊天室功能(channels库)
2021/09/25 Python
python脚本框架webpy模板赋值实现
2021/11/20 Python
详解MySQL的内连接和外连接
2023/05/08 MySQL