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循环输出数据库内容的代码
May 24 PHP
php MySQL与分页效率
Jun 04 PHP
解析thinkphp中的导入文件标签
Jun 20 PHP
PHP $_FILES中error返回值详解
Jan 30 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
Oct 15 PHP
php缓冲输出实例分析
Jan 05 PHP
PHP结合Jquery和ajax实现瀑布流特效
Jan 07 PHP
Yii框架实现邮箱激活的方法【数字签名】
Oct 18 PHP
PHP 中TP5 Request 请求对象的实例详解
Jul 31 PHP
PHP实现的简单组词算法示例
Apr 10 PHP
laravel中Redis队列监听中断的分析
Sep 14 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
多文件上传的例子
2006/10/09 PHP
第十四节--命名空间
2006/11/16 PHP
用php实现批量查询清除一句话后门的代码
2008/01/20 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
CodeIgniter中使用Smarty3基本配置
2015/06/29 PHP
php邮箱地址正则表达式验证
2015/11/13 PHP
Smarty模板引擎缓存机制详解
2016/05/23 PHP
php格式化时间戳
2016/12/17 PHP
PHP面向对象之事务脚本模式(详解)
2017/06/07 PHP
刷新页面实现方式总结(HTML,ASP,JS)
2008/11/13 Javascript
javascript FormatNumber函数实现方法
2008/12/30 Javascript
JS获取DropDownList的value值与text值的示例代码
2014/01/07 Javascript
Iframe 自动适应页面的高度示例代码
2014/02/26 Javascript
JavaScript获取两个数组交集的方法
2015/06/09 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
2017/03/10 Javascript
基于angular2 的 http服务封装的实例代码
2017/06/29 Javascript
vue.js组件之间传递数据的方法
2017/07/10 Javascript
微信小程序实现自上而下字幕滚动
2018/07/14 Javascript
详解JavaScript 的变量
2019/03/08 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
vue视频播放暂停代码
2019/11/08 Javascript
图文详解WinPE下安装Python
2016/05/17 Python
Pycharm设置界面全黑的方法
2018/05/23 Python
Django实现网页分页功能
2019/10/31 Python
报关员个人职业生涯规划书
2014/03/12 职场文书
岗位廉洁从政承诺书
2014/03/27 职场文书
企业消防安全责任书
2014/07/23 职场文书
工作表扬信范文
2015/01/17 职场文书
清明节网上祭英烈寄语2015
2015/03/04 职场文书
纪检监察立案决定书
2015/06/24 职场文书
大学校园餐饮创业计划书
2019/08/07 职场文书
如何理解Vue前后端数据交互与显示
2021/05/10 Vue.js
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android