PHP人民币金额转大写实例代码
PHP人民币金额转大写,其实质就是数字转换成中文大写,测试了一下,非常有趣,随便输个数字,就可以将其大写打印出来,初学的朋友们试一下吧
//PHP人民币金额转大写 classExt_Num2Cny{ static$basical=array(0=>"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"); static$advanced=array(1=>"拾","佰","仟"); publicstaticfunctionParseNumber($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{ returnself::int($number).'整'; } } publicstaticfunctionint($number){ $arr=array_reverse(str_split($number)); $data=''; $zero=false; $zero_num=0; foreach($arras$k=>$v){ $_chinese=''; $zero=($v==0)?true:false; $x=$k%4; if($x&&$zero&&$zero_num>1)continue; switch($x){ case0: 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.'元'; } publicstaticfunctiondec($number){ if(strlen($number)<2)$number.='0'; $arr=array_reverse(str_split($number)); $data=''; $zero_num=false; foreach($arras$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=newExt_Num2Cny(); echoExt_Num2Cny::ParseNumber(1234567.5);
结果:壹佰贰拾叁万肆仟伍佰陆拾柒元伍角
希望本文对大家学习php编程有所帮助,