欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-03-26 12:37:35
...
  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. ?>
复制代码

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

  1. echo cny('12121');
  2. ?>
复制代码