首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

将数值(千亿以下)转换为大写人民币解决办法

2012-02-02 
将数值(千亿以下)转换为大写人民币rt:将数值(千亿以下)转换为大写人民币.用PHP实现。PHPer快啊[解决办法]ht

将数值(千亿以下)转换为大写人民币
rt:将数值(千亿以下)转换为大写人民币.用PHP实现。PHPer 快啊

[解决办法]
http://www.phparticle.net/htmldata/2268/1/
[解决办法]

PHP code
<? error_reporting(2047);#报告所有非法的错误 ob_start(); function  RMB ($RMB=0,$Format='') { /* Function          : 小写金额转换大写金额 支持元角分厘毫 的PHP函数 Author            : 纯粹误会 zh5j.com QQ:44922032 Time              : 2005-5-18 Parameters        : $RMB是小写金额,$Format是返回格式化后的的小写金额 Usage             : $RMB=RMB("1255888","money");echo $RMB; echo $money; Thanks            : 奶瓶、石头、ej99 */     $RMB=@preg_Replace(         array('/([, ]|¥|0$|)/','/(.){2,}/'),         array('','.'),         $RMB);     if(eregi("[^0-9.]",$RMB))return "非法金额";     if($RMB==0)return "零元整";     elseif($RMB>pow(10,12))return "金额必须小于千亿";     $re   = '';     $arr1 = array('零','壹','贰','叁','肆','伍','陆','柒','捌','玖');     $arr2 = array('元','拾','佰','仟','万','拾','佰','仟','亿','拾','佰','仟');     $arr3 = array('角','分','厘','毫');     $pre1 = count($arr2);  #单位精确度 precision     $pre2 = count($arr3);  #小数位精确度 precision     $arr  = @explode(".",$RMB);#按小数点切割金额     $len1 = @strlen($arr[0]);  #整数位长度     $len2 = @strlen($arr[1]);  #小数位长度     for($i=0; $i<$len1 && $i<$pre1; $i++)     {         $bit     =$arr[0][$len1-$i-1];     #当前位小写金额         $cn      =$arr1[$bit];             #当前位大写金额         $unit    =$arr2[$i];                        #当前位金额单位 #小写金额为零的情况         if($bit==0)         {             if(ereg('元|万|亿',$unit))$re=$unit.$re;             else $re=$cn.$re;         } #小写金额非零的情况         else         {             $re=$cn.$unit.$re;         }     }     for($i=0; $i< count($arr3) && $i<$len2; $i++){         $bit    =$arr[1][$i];    #当前位小写金额         $cn     =$arr1[$bit];    #当前位大写金额         $unit   =$arr3[$i];      #当前位金额单位         if($bit!=0)      $re .=$cn.$unit;         elseif($i<2)  $re .="零";     }     if($Format){#格式化小写金额         #精确位数。不小于2,不大于最大精确度的小数位数         $gage =min(max(2,$len2),$pre2);         $GLOBALS[$Format]=number_format($RMB,$gage, ".", ",");     }     $re=preg_replace(                 array("/亿万/",     "/(零)$/",      "/(零){2,}/"),                 array("亿",         "",             "零"),         $re);  #正则替换     if(!$len2)$re.="整";  #当没有小数位时加上“整”     return $re; } //////////////////////////// RMB('11111111'); $money=isset($_GET['money'])?$_GET['money']:""; $RMB=RMB($money,"money"); ?> 

热点排行