PHP人民幣金額轉(zhuǎn)大寫實例代碼
更新時間:2015年10月02日 08:42:50 投稿:lijiao
一個非常有趣的PHP人民幣金額數(shù)字轉(zhuǎn)中文大寫實例代碼與大家分享,感興趣的小伙伴可以參考一下。
PHP人民幣金額轉(zhuǎn)大寫,其實質(zhì)就是數(shù)字轉(zhuǎn)換成中文大寫,測試了一下,非常有趣,隨便輸個數(shù)字,就可以將其大寫打印出來,初學(xué)的朋友們試一下吧
//PHP人民幣金額轉(zhuǎn)大寫
class Ext_Num2Cny{
static $basical = array(0=>"零","壹","貳","叁","肆","伍","陸","柒","捌","玖");
static $advanced=array(1=>"拾","佰","仟");
public static function ParseNumber($number){
$number=trim($number);
if ($number>999999999999) return "數(shù)字太大,無法處理。抱歉!";
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);
結(jié)果:壹佰貳拾叁萬肆仟伍佰陸拾柒元伍角
希望本文對大家學(xué)習(xí)php編程有所幫助,
相關(guān)文章
php 獲取可變函數(shù)參數(shù)的函數(shù)
php取得可變函數(shù)參數(shù),方便后面的控制。2009-08-08
php緩沖 output_buffering和ob_start使用介紹
這篇文章主要介紹了php緩沖 output_buffering和ob_start的相關(guān)資料,需要的朋友可以參考下2014-01-01

