您的位置:首页 > 其它

数字转换成汉字大写

2013-01-24 14:43 183 查看
/**
* 数字转换成汉字大写
*
* @param integer $ns
* @return string
*/
function cny($ns) {
static $cnums    = array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"),
$cnyunits = array("元","角","分"),
$grees    = array("拾","佰","仟","万","拾","佰","仟","亿");
list($ns1,$ns2)=explode(".",$ns,2);
$xs1=substr($ns2,0,1);
$xs2=substr($ns2,1);
$ns2=array_filter(array($xs2,$xs1));
$ret=array_merge($ns2,array(implode("",_cny_map_unit(str_split($ns1),$grees)),""));
$ret=implode("",array_reverse(_cny_map_unit($ret,$cnyunits)));
return str_replace(array_keys($cnums),$cnums,$ret)."整";
}
function _cny_map_unit($list,$units) {
$ul=count($units);
$xs=array();
foreach (array_reverse($list) as $x) {
$l=count($xs);
if ($x!="0" || !($l%4)) {
$index = ($l-1)%$ul >=0 ? $units[($l-1)%$ul] : '';
$n=($x=='0'?'':$x).($index);
}
else $n=is_numeric($xs[0][0])?$x:'';
array_unshift($xs,$n);
}
return $xs;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: