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函数
Oct 09 PHP
解析php中const与define的应用区别
Jun 18 PHP
ajax返回值中有回车换行、空格的解决方法分享
Oct 24 PHP
PHP代码优化之成员变量获取速度对比
Feb 28 PHP
php实现保存submit内容之后禁止刷新
Mar 19 PHP
php实现无限级分类
Dec 24 PHP
laravel 5 实现模板主题功能(续)
Mar 02 PHP
php实现将数组转换为XML的方法
Mar 09 PHP
PHP整合七牛实现上传文件
Jul 03 PHP
Thinkphp事务操作实例(推荐)
Apr 01 PHP
PHP集成环境XAMPP的安装与配置
Nov 13 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
Oct 21 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
星际争霸中的热键
2020/03/04 星际争霸
Terran魔法科技
2020/03/14 星际争霸
php面向对象全攻略 (五) 封装性
2009/09/30 PHP
thinkphp的c方法使用示例
2014/02/24 PHP
php mysqli查询语句返回值类型实例分析
2016/06/29 PHP
JavaScript 面向对象的 私有成员和公开成员
2010/05/13 Javascript
css样式标签和js语法属性区别
2013/11/06 Javascript
js生成随机数之random函数随机示例
2013/12/20 Javascript
js确认删除对话框效果的示例代码
2014/02/20 Javascript
Js的Array数组对象详解
2016/02/22 Javascript
JS日程管理插件FullCalendar中文说明文档
2017/02/06 Javascript
详解Vue2.0配置mint-ui踩过的那些坑
2018/04/23 Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
2019/02/01 Javascript
快速了解Node中的Stream流是什么
2019/02/13 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
2019/07/23 Javascript
基于Vue和Element-Ui搭建项目的方法
2019/09/06 Javascript
js轮播图之旋转木马效果
2020/10/13 Javascript
[52:12]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
[55:44]完美世界DOTA2联赛决赛 FTD vs Phoenix 第二场 11.08
2020/11/11 DOTA
python实现文件路径和url相互转换的方法
2015/07/06 Python
Python利用flask sqlalchemy实现分页效果
2020/08/02 Python
python实现log日志的示例代码
2018/04/28 Python
搞定这套Python爬虫面试题(面试会so easy)
2019/04/03 Python
详解Python sys.argv使用方法
2019/05/10 Python
Pyqt5 基本界面组件之inputDialog的使用
2019/06/25 Python
python 解决flask uwsgi 获取不到全局变量的问题
2019/12/22 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
2020/06/28 Python
新奇的小玩意:IWOOT
2016/07/21 全球购物
高中自我鉴定
2013/12/20 职场文书
上课迟到检讨书
2014/01/19 职场文书
幼儿园教师自我鉴定
2014/03/20 职场文书
优秀教师先进个人事迹材料
2014/08/31 职场文书
导游词之大雁塔景区
2019/09/17 职场文书
浅谈Redis的事件驱动模型
2022/05/30 Redis
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL
详解CSS3浏览器兼容
2022/12/24 HTML / CSS