当前位置:Gxlcms > PHP教程 > 人民币金额数字转中文大写的php函数

人民币金额数字转中文大写的php函数

时间:2021-07-01 10:21:17 帮助过:30人阅读

  1. /**

  2. 人民币金额数字转中文大写
  3. link:bbs.it-home.org
  4. date:2013-2-28
  5. */
  6. function cny($ns) {
  7. static $cnums=array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"),
  8. $cnyunits=array("圆","角","分"),
  9. $grees=array("拾","佰","仟","万","拾","佰","仟","亿");
  10. list($ns1,$ns2)=explode(".",$ns,2);
  11. $ns2=array_filter(array($ns2[1],$ns2[0]));
  12. $ret=array_merge($ns2,array(implode("",_cny_map_unit(str_split($ns1),$grees)),""));
  13. $ret=implode("",array_reverse(_cny_map_unit($ret,$cnyunits)));
  14. return str_replace(array_keys($cnums),$cnums,$ret);
  15. }

  16. function _cny_map_unit($list,$units) {

  17. $ul=count($units);
  18. $xs=array();
  19. foreach (array_reverse($list) as $x) {
  20. $l=count($xs);
  21. if ($x!="0" || !($l%4)) $n=($x=='0'?'':$x).($units[($l-1)%$ul]);
  22. else $n=is_numeric($xs[0][0])?$x:'';
  23. array_unshift($xs,$n);
  24. }
  25. return $xs;
  26. }
  27. ?>

使用方法:直接传递数字参数 人民币数字转中文大写 以下实例打印出大写的数字,输出结果:壹万贰仟壹佰贰拾壹圆

  1. echo cny('12121');
  2. ?>

人气教程排行