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 采集程序原理分析篇
Mar 05 PHP
有关phpmailer的详细介绍及使用方法
Jan 28 PHP
php模拟登陆的实现方法分析
Jan 09 PHP
PHP实现图片上传并压缩
Dec 22 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
Apr 11 PHP
yii2控制器Controller Ajax操作示例
Jul 23 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
Oct 17 PHP
Redis构建分布式锁
Mar 28 PHP
PHP实现的简单对称加密与解密方法实例小结
Aug 28 PHP
PHP实现非阻塞模式的方法分析
Jul 26 PHP
laravel5实现微信第三方登录功能
Dec 06 PHP
在 Laravel 项目中使用 webpack-encore的方法
Jul 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
PHP4在Windows2000下的安装
2006/10/09 PHP
PHP 定界符 使用技巧
2009/06/14 PHP
php jquery 实现新闻标签分类与无刷新分页
2009/12/18 PHP
php去除重复字的实现代码
2011/09/16 PHP
总结PHP内存释放以及垃圾回收
2018/03/29 PHP
PHP通过GD库实现验证码功能示例
2019/02/23 PHP
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
IE与FF下javascript获取网页及窗口大小的区别详解
2014/01/14 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
jquery获取颜色在ie和ff下的区别示例介绍
2014/03/28 Javascript
nodejs npm包管理的配置方法及常用命令介绍
2014/06/05 NodeJs
浅谈javascript的调试
2015/01/28 Javascript
AngularJS手动表单验证
2016/02/01 Javascript
JavaScript重载函数实例剖析
2016/05/13 Javascript
全面解析node 表单的图片上传
2016/11/21 Javascript
js实现瀑布流效果(自动生成新的内容)
2017/03/16 Javascript
nodejs body-parser 解析post数据实例
2017/07/26 NodeJs
浅谈react性能优化的方法
2018/09/05 Javascript
微信小程序template模板与component组件的区别和使用详解
2019/05/22 Javascript
vue 插件的方法代码详解
2019/06/06 Javascript
[45:44]完美世界DOTA2联赛PWL S2 FTD vs PXG 第一场 11.27
2020/12/01 DOTA
[58:59]完美世界DOTA2联赛PWL S3 access vs CPG 第一场 12.13
2020/12/16 DOTA
用Python将IP地址在整型和字符串之间轻松转换
2017/03/22 Python
VSCode下好用的Python插件及配置
2018/04/06 Python
深入浅析Python中list的复制及深拷贝与浅拷贝
2018/09/03 Python
python 3.6.5 安装配置方法图文教程
2018/09/18 Python
Pandas 按索引合并数据集的方法
2018/11/15 Python
python儿童学游戏编程知识点总结
2019/06/03 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
python 实现弹球游戏的示例代码
2020/11/17 Python
CSS3绘制圆角矩形的简单示例
2015/09/28 HTML / CSS
2015年建党94周年演讲稿
2015/03/19 职场文书
员工升职自荐信
2015/03/27 职场文书
道歉信怎么写
2015/05/12 职场文书
开机音效回归! Windows 11重新引入开机铃声
2021/11/21 数码科技
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技