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 相关文章推荐
不用数据库的多用户文件自由上传投票系统(3)
Oct 09 PHP
PHP set_time_limit(0)长连接的实现分析
Mar 02 PHP
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
Jun 24 PHP
zf框架的Filter过滤器使用示例
Mar 13 PHP
PHP根据两点间的经纬度计算距离
Oct 31 PHP
PHP生成随机数的方法实例分析
Jan 22 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
Jan 22 PHP
php绘制一条直线的方法
Jan 24 PHP
使用Appcan客户端自动更新PHP版本号(全)
Jul 31 PHP
简单谈谈PHP中的trait
Feb 25 PHP
PHP框架laravel的.env文件配置教程
Jun 07 PHP
详解php中serialize()和unserialize()函数
Jul 08 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
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
记录PHP错误日志 display_errors与log_errors的区别
2012/10/09 PHP
php基于base64解码图片与加密图片还原实例
2014/11/03 PHP
laravel 框架配置404等异常页面
2019/01/07 PHP
JQUERY设置IFRAME的SRC值的代码
2010/11/30 Javascript
javascript解决innerText浏览器兼容问题思路代码
2013/05/17 Javascript
自定义的一个简单时尚js下拉选择框
2013/11/20 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
javascript点击按钮实现隐藏显示切换效果
2016/02/03 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
2016/08/01 Javascript
js制作网站首页图片轮播特效代码
2016/08/30 Javascript
jquery实现瀑布流效果 jquery下拉加载新数据
2016/12/12 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
Ionic3实现图片瀑布流布局
2017/08/09 Javascript
JS路由跳转的简单实现代码
2017/09/21 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
为react组件库添加typescript类型提示的方法
2020/06/15 Javascript
JavaScript Array.flat()函数用法解析
2020/09/02 Javascript
深度剖析使用python抓取网页正文的源码
2014/06/11 Python
Python自定义scrapy中间模块避免重复采集的方法
2015/04/07 Python
深入理解 Python 中的多线程 新手必看
2016/11/20 Python
python中快速进行多个字符替换的方法小结
2016/12/15 Python
Python初学者需要注意的事项小结(python2与python3)
2018/09/26 Python
Python中捕获键盘的方式详解
2019/03/28 Python
python批量处理文件或文件夹
2020/07/28 Python
Python使用matplotlib绘制三维参数曲线操作示例
2019/09/10 Python
Python  word实现读取及导出代码解析
2020/07/09 Python
python绘制高斯曲线
2021/02/19 Python
详解css3使用transform出现字体模糊的解决办法
2020/10/16 HTML / CSS
英国马莎百货官网:Marks & Spencer
2016/07/29 全球购物
土木工程毕业生推荐信
2013/10/28 职场文书
大三毕业自我鉴定
2014/01/15 职场文书
《可爱的动物》教学反思
2014/02/22 职场文书
物业消防安全责任书
2014/07/23 职场文书
2015年技术员工作总结
2015/04/10 职场文书
企业工会工作总结2015
2015/05/13 职场文书