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实现rc4加密算法代码
Apr 25 PHP
基于curl数据采集之单页面采集函数get_html的使用
Apr 28 PHP
php实现天干地支计算器示例
Mar 14 PHP
PHP整数取余返回负数的相关解决方法
May 15 PHP
ThinkPHP实现事务回滚示例代码
Jun 23 PHP
php猴子选大王问题解决方法
May 12 PHP
PHP Try-catch 语句使用技巧
Feb 28 PHP
Joomla使用Apache重写模式的方法
May 04 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
php7函数,声明,返回值等新特性介绍
May 25 PHP
PHP实现的服务器一致性hash分布算法示例
Aug 09 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 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 cdata 处理(详细介绍)
2013/07/05 PHP
PHP开发API接口签名生成及验证操作示例
2020/05/27 PHP
用jQuery扩展自写的 UI导航
2010/01/13 Javascript
常用一些Javascript判断函数
2012/08/14 Javascript
javascript利用apply和arguments复用方法
2013/11/25 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
Jquery实现Div上下移动示例
2014/04/23 Javascript
简单的js图片轮换代码(js图片轮播)
2014/05/06 Javascript
javascript中的return和闭包函数浅析
2014/06/06 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
2014/06/23 Javascript
js事件监听机制(事件捕获)总结
2014/08/08 Javascript
jQuery中 attr() 方法使用小结
2015/05/03 Javascript
JavaScript数据存储 Cookie篇
2016/07/02 Javascript
微信小程序 聊天室简单实现
2017/04/19 Javascript
从零开始搭建webpack+react开发环境的详细步骤
2018/05/18 Javascript
用vue快速开发app的脚手架工具
2018/06/11 Javascript
详解微信小程序canvas圆角矩形的绘制的方法
2018/08/22 Javascript
如何去除富文本中的html标签及vue、react、微信小程序中的过滤器
2018/11/21 Javascript
react-router-dom 嵌套路由的实现
2020/05/02 Javascript
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
Python的多态性实例分析
2015/07/07 Python
多版本Python共存的配置方法
2017/05/22 Python
Python3生成手写体数字方法
2018/01/30 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
在服务器上安装python3.8.2环境的教程详解
2020/04/26 Python
波兰家具和室内装饰品购物网站:Vivre
2018/04/10 全球购物
为什么使用接口?
2014/08/13 面试题
企业仓管员岗位职责
2014/06/15 职场文书
开发房地产协议书
2014/09/14 职场文书
安全生产月宣传标语
2014/10/06 职场文书
瘦西湖导游词
2015/02/03 职场文书
超市食品安全承诺书
2015/04/29 职场文书
疾病证明书
2015/06/19 职场文书
大学学习委员竞选稿
2015/11/20 职场文书
MySQL连接查询你真的学会了吗?
2021/06/02 MySQL
Python3中最常用的5种线程锁实例总结
2021/07/07 Python