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 相关文章推荐
做一个有下拉功能的留言版
Oct 09 PHP
php下mysql数据库操作类(改自discuz)
Jul 03 PHP
php header功能的使用
Oct 28 PHP
php全角字符转换为半角函数
Feb 07 PHP
Codeigniter实现智能裁剪图片的方法
Jun 12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
Jun 24 PHP
ThinkPHP调试模式与日志记录概述
Aug 22 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
Aug 21 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
Jan 05 PHP
php生成Android客户端扫描可登录的二维码
May 13 PHP
制作个性化的WordPress登陆界面的实例教程
May 21 PHP
浅谈php的TS和NTS的区别
Mar 13 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 URL跳转代码 减少外链
2011/06/25 PHP
php的hash算法介绍
2014/02/13 PHP
php警告Creating default object from empty value 问题的解决方法
2014/04/02 PHP
在PHP中使用X-SendFile头让文件下载更快
2014/06/01 PHP
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
2015/03/27 PHP
php静态成员方法和静态的成员属性的使用方法
2017/10/26 PHP
jquery 问答知识整理
2010/02/11 Javascript
jQuery编写widget的一些技巧分享
2010/10/28 Javascript
JavaScript判断一个URL链接是否有效的实现方法
2011/10/08 Javascript
nodejs中exports与module.exports的区别详细介绍
2013/01/14 NodeJs
让IE8浏览器支持function.bind()方法
2014/10/16 Javascript
AngularJs  Creating Services详解及示例代码
2016/09/02 Javascript
AngularJS使用ui-route实现多层嵌套路由的示例
2018/01/10 Javascript
vue实现点击隐藏与显示实例分享
2019/02/13 Javascript
JavaScript实现英语单词题库
2019/12/24 Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
2020/01/07 Javascript
javascript中导出与导入实现模块化管理教程
2020/12/03 Javascript
[57:50]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第二局
2016/03/05 DOTA
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
浅谈python中统计计数的几种方法和Counter详解
2019/11/07 Python
python爬虫开发之urllib模块详细使用方法与实例全解
2020/03/09 Python
jupyter notebook 增加kernel教程
2020/04/10 Python
彻底解决Python包下载慢问题
2020/11/15 Python
通过CSS3的object-fit来调整图片适配尺寸的技巧简介
2016/02/27 HTML / CSS
佳能加拿大网上商店:Canon eStore Canada
2018/04/04 全球购物
关于幼儿的自我评价
2013/12/18 职场文书
会计学专业学生的求职信范文
2014/01/27 职场文书
商场开业庆典策划方案
2014/06/02 职场文书
煤矿开采专业求职信
2014/07/08 职场文书
公司行政专员岗位职责
2014/08/24 职场文书
县委常委班子专题民主生活会查摆问题及整改措施
2014/09/27 职场文书
2014收银员工作总结范文
2014/12/16 职场文书
西柏坡观后感
2015/06/08 职场文书
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
2021/04/01 PHP
python pygame入门教程
2021/06/01 Python
python图片灰度化处理的几种方法
2021/06/23 Python