PHP將人民幣中金額數字轉化為中文大寫代碼
主體代碼:
function toChineseNumber($money){ $money = round($money,2); $cnynums = array('零','壹','貳','叁','肆','伍','陸','柒','捌','玖'); $cnyunits = array('圓','角','分'); $cnygrees = array('拾','佰','仟','萬','拾','佰','仟','億'); list($int,$dec) = explode('.',$money,2); $dec = array_filter(array($dec[1],$dec[0])); $ret = array_merge($dec,array(implode('',$this->cnyMapUnit(str_split($int),$cnygrees)),'')); $ret = implode('',array_reverse($this->cnyMapUnit($ret,$cnyunits))); return str_replace(array_keys($cnynums),$cnynums,$ret); }
function cnyMapUnit($list,$units) { $ul=count($units); $xs=array(); foreach (array_reverse($list) as $x) { $l=count($xs); if ($x!='0' || !($l%4)) $n=($x==’0’?’’:$x).($units[($l-1)%$ul]); else $n=is_numeric($xs[0][0])?$x:’’; array_unshift($xs,$n); } return $xs; }
調用代碼:
echo?toChineseNumber($money);
相關文章:
