Heim >Backend-Entwicklung >PHP-Tutorial >人民币金额数字转中文大写的php函数

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

WBOY
WBOYOriginal
2016-07-25 09:04:241224Durchsuche
  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. ?>
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn