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 相关文章推荐
解析关于wamp启动是80端口被占用的问题
Jun 21 PHP
php中过滤非法字符的具体实现
Oct 29 PHP
PHP输出缓存ob系列函数详解
Mar 11 PHP
CodeIgniter输出中文乱码的两种解决办法
Jun 12 PHP
php集成环境xampp中apache无法启动问题解决方案
Nov 18 PHP
ThinkPHP项目分组配置方法分析
Mar 23 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
Sep 19 PHP
PHP目录操作实例总结
Sep 27 PHP
php cookie 详解使用实例
Nov 03 PHP
php实时倒计时功能实现方法详解
Feb 27 PHP
PHP实现限制IP访问及提交次数的方法详解
Jul 17 PHP
Laravle eloquent 多对多模型关联实例详解
Nov 22 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
第九节 绑定 [9]
2006/10/09 PHP
js每次Title显示不同的名言
2008/09/25 Javascript
Javascript面向对象设计一 工厂模式
2011/12/20 Javascript
JavaScript实现从数组中选出和等于固定值的n个数
2014/09/03 Javascript
Javascript window对象详解
2014/11/12 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
JavaScript的this关键字的理解
2016/06/18 Javascript
gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)
2016/08/24 Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
2016/10/13 Javascript
jQuery+ajax的资源回收处理机制分析
2017/01/07 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
2019/05/14 jQuery
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
2020/04/26 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
eslint+prettier统一代码风格的实现方法
2020/07/22 Javascript
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
[02:37]2015国际邀请赛选手档案—LGD.Xiao8
2015/07/28 DOTA
Python2.x中文乱码问题解决方法
2015/06/02 Python
Python 中 list 的各项操作技巧
2017/04/13 Python
socket + select 完成伪并发操作的实例
2017/08/15 Python
深入浅析python with语句简介
2018/04/11 Python
python批量修改图片后缀的方法(png到jpg)
2018/10/25 Python
我就是这样学习Python中的列表
2019/06/02 Python
Python matplotlib绘制饼状图功能示例
2019/09/10 Python
wxPython修改文本框颜色过程解析
2020/02/14 Python
一文了解python 3 字符串格式化 F-string 用法
2020/03/04 Python
Python中的特殊方法以及应用详解
2020/09/20 Python
Django搭建项目实战与避坑细节详解
2020/12/06 Python
德国鞋子网上商店:Omoda.de
2017/03/31 全球购物
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
世界上最大的乐谱选择:Sheet Music Plus
2020/01/18 全球购物
开学典礼决心书
2014/03/11 职场文书
五一口号
2014/06/19 职场文书
JavaScript实现班级抽签小程序
2021/05/19 Javascript