PHP人民币金额转大写实例代码

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编程有所帮助,

(0)

相关推荐

  • PHP把数字转成人民币大写的函数分享

    做财务的人遇到过这么一个问题,比如13,126.8元,在发票或者其他记账业务中,一般要使用大写进行拼读成"壹万叁仟壹佰贰拾陆元捌角整". 这不,也贴上我原来在做学车网的一个php函数,供大家参考吧. 复制代码 代码如下: /**  * 人民币小写转大写  *  * @param string $number 数值  * @param string $int_unit 币种单位,默认"元",有的需求可能为"圆"  * @param bool $is

  • jquery+php随机生成红包金额数量代码分享

    本文实例讲述了jquery+php实现的随机生成红包金额数量特效.分享给大家供大家参考.具体如下: jquery+php实现的随机生成红包金额数量特效是一段实现了可以将一定金额的钱生成多个不同金额的红包的效果代码,红包数量与金钱可以自己设定. 运行效果图:                              -------------------查看效果 下载源码------------------- 小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. 为大家分享的jquery+ph

  • php格式化金额函数分享

    最近的项目在处理资金这一块的功能,对人民币金额的格式化输出是必不可少的功能.这个功能比较独立而且还比较大众化,所以封装成了函数就发上去也算是方便大家. 复制代码 代码如下: /**  * 格式化金额  *  * @param int $money  * @param int $len  * @param string $sign  * @return string  */ function format_money($money, $len=2, $sign='¥'){     $negativ

  • PHP 金额数字转换成英文

    复制代码 代码如下: <?php $num=1220.01; echo fmoney($num);//结果:1,220.21 echo umoney($num); //结果:ONE THOUSAND AND TWO HUNDRED TWENTY DOLLARS AND TWENTY-ONE CENTS ONLY echo umoney($num,"rmb"); //结果:ONE THOUSAND AND TWO HUNDRED TWENTY YUAN AND TWENTY-ONE

  • php将金额数字转化为中文大写

    php将金额数字转化为中文大写 echo toChineseNumber(1234567890);//壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾圆 function toChineseNumber($money){ $money = round($money,2); $cnynums = array("零","壹","贰","叁","肆","伍","陆","柒&q

  • PHP人民币金额数字转中文大写的函数代码

    在网上看到一个非常有趣的PHP人民币金额数字转中文大写的函数,其实质就是数字转换成中文大写,测试了一下,非常有趣,随便输个数字,就可以将其大写打印出来,新手朋友们试一下吧,举一反三,还可以写好多有趣的PHP转换函数. 复制代码 代码如下: <?  function cny($ns) {     static $cnums=array("零","壹","贰","叁","肆","伍",

  • 用PHP实现小写金额转换大写金额的代码(精确到分)

    复制代码 代码如下: /** *数字金额转换成中文大写金额的函数 *String Int $num 要转换的小写数字或小写字符串 *return 大写字母 *小数位为两位 **/ function get_amount($num){ $c1 = "零壹贰叁肆伍陆柒捌玖"; $c2 = "分角元拾佰仟万拾佰仟亿"; $num = round($num, 2); $num = $num * 100; if (strlen($num) > 10) { return

  • PHP人民币金额转大写实例代码

    PHP人民币金额转大写,其实质就是数字转换成中文大写,测试了一下,非常有趣,随便输个数字,就可以将其大写打印出来,初学的朋友们试一下吧 //PHP人民币金额转大写 class Ext_Num2Cny{ static $basical = array(0=>"零","壹","贰","叁","肆","伍","陆","柒","捌"

  • JS实现将人民币金额转换为大写的示例代码

    复制代码 代码如下: //人民币金额转大写程序 JavaScript版     //CopyRight Bardo QI function numToCny(num){         var capUnit = ['万','亿','万','圆',''];         var capDigit = { 2:['角','分',''], 4:['仟','佰','拾','']};         var capNum=['零','壹','贰','叁','肆','伍','陆','柒','捌','玖'

  • C#中利用正则表达式将人民币金额转换为大写汉字

    直接来看代码: public static string ConvertToChineseMoney(double money) { if (money < 0) throw new ArgumentOutOfRangeException("参数money不能为负值!"); string s = money.ToString("#L#E#D#C#K#E#D#C#J#E#D#C#I#E#D#C#H#E#D#C#G#E#D#C#F#E#D#C#.0B0A"); s

  • JS实现将数字金额转换为大写人民币汉字的方法

    本文实例讲述了JS实现将数字金额转换为大写人民币汉字的方法.分享给大家供大家参考,具体如下: //代码如下所示: function convertCurrency(money) { //汉字的数字 var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'); //基本单位 var cnIntRadice = new Array('', '拾', '佰', '仟'); //对应整数部分扩展单位 var cnInt

  • Android实现商城购物车功能的实例代码

    最近公司项目做商城模块,需要实现购物车功能,主要实现了单选.全选,金额合计,商品删除,商品数量加减等功能,先看看效果图: 在这里插入图片描述 一.实现步骤: 0.添加依赖库 1.购物车主界面布局文件(activity_main.xml) 2.购物车实现逻辑主界面(MainActivity.class) 3.使用ExpandableListView,继承BaseExpandableListAdapter 4.购物车数据的bean类(ShoppingCarDataBean.class) 5.分店铺实

  • Java将数字金额转为大写中文金额

    本文实例为大家分享了Java将数字金额转为大写中文金额的具体代码,供大家参考,具体内容如下 前言: 输入数字金额参数,运行程序得到其对应的大写中文金额:例如:输入- 12.56,输出- 12.56:壹拾贰元伍角陆分:重点来了:本人亲测有效. 奉上代码: /** *@Title: ConvertUpMoney * @Description: 将数字金额转为大写汉字金额 * @date: 2019年6月18日 下午10:52:27 */ public class ConvertUpMoney { /

  • python人民币小写转大写辅助工具

    本文实例为大家分享了python人民币大小写转换的具体代码,供大家参考,具体内容如下 大家应该都知道,银行打印账单有时候会跟上人民币的阿拉伯数字以及人民币汉字大写写法,转换的过程中有一定的逻辑难度,较为麻烦,所以笔者心血来潮,花了点时间简单实现了一下这一转换过程,以供初学者参考. 输入样例: 123.22 输出样例: 壹佰贰拾叁圆贰角贰分 参考代码: #!/usr/bin/env python # encoding: utf-8 from __future__ import print_func

  • Java整合腾讯云短信发送实例代码

    目录 1. 引入相关maven依赖 2. 编写短信发送工具类 3. 业务层 3. 相关工具类 1. 引入相关maven依赖 <dependency> <groupId>com.github.qcloudsms</groupId> <artifactId>qcloudsms</artifactId> <version>1.0.6</version> </dependency> <dependency>

  • AngularJS中过滤器的使用与自定义实例代码

    前言 相信大家都知道过滤器的使用:一种是在html中的使用,一种是在js代码中的使用,下面我们来通过实例深入了解. 实例代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>过滤器</title> <script src="day2/src/angular.js"></script> <styl

随机推荐