首页 > 编程 > PHP > 正文

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

2020-03-22 20:18:31
字体:
来源:转载
供稿:网友
PHP人民币金额转大写,其实质就是数字转换成中文大写,测试了一下,非常有趣,随便输个数字,就可以将其大写打印出来,初学的朋友们试一下吧//PHP人民币金额转大写html' target='_blank'>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教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表