Heim > Backend-Entwicklung > PHP-Tutorial > php数字转为汉字金额

php数字转为汉字金额

WBOY
Freigeben: 2016-07-25 08:43:04
Original
923 Leute haben es durchsucht
  1. /**
  2. * 数字转换为中文
  3. * @param string|integer|float $num 目标数字
  4. * @param integer $mode 模式[true:金额(默认),false:普通数字表示]
  5. * @param boolean $sim 使用小写(默认)
  6. * @return string
  7. */
  8. function number2chinese($num,$mode = true,$sim = true){
  9. if(!is_numeric($num)) return '含有非数字非小数点字符!';
  10. $char = $sim ? array('零','一','二','三','四','五','六','七','八','九')
  11. : array('零','壹','贰','叁','肆','伍','陆','柒','捌','玖');
  12. $unit = $sim ? array('','十','百','千','','万','亿','兆')
  13. : array('','拾','佰','仟','','萬','億','兆');
  14. $retval = $mode ? '元':'点';
  15. //小数部分
  16. if(strpos($num, '.')){
  17. list($num,$dec) = explode('.', $num);
  18. $dec = strval(round($dec,2));
  19. if($mode){
  20. $retval .= "{$char[$dec['0']]}角{$char[$dec['1']]}分";
  21. }else{
  22. for($i = 0,$c = strlen($dec);$i $retval .= $char[$dec[$i]];
  23. }
  24. }
  25. }
  26. //整数部分
  27. $str = $mode ? strrev(intval($num)) : strrev($num);
  28. for($i = 0,$c = strlen($str);$i $out[$i] = $char[$str[$i]];
  29. if($mode){
  30. $out[$i] .= $str[$i] != '0'? $unit[$i%4] : '';
  31. if($i>1 and $str[$i]+$str[$i-1] == 0){
  32. $out[$i] = '';
  33. }
  34. if($i%4 == 0){
  35. $out[$i] .= $unit[4+floor($i/4)];
  36. }
  37. }
  38. }
  39. $retval = join('',array_reverse($out)) . $retval;
  40. return $retval;
  41. }
  42. //实例调用=====================================================
  43. $num = '0123648867.789';
  44. echo $num,'
    ';
  45. //普通数字的汉字表示
  46. echo '普通:',number2chinese($num,false),'';
  47. echo '
    ';
  48. //金额汉字表示
  49. echo '金额(简体):',number2chinese($num,true),'';
  50. echo '
    ';
  51. echo '金额(繁体):',number2chinese($num,true,false);
  52. ?>
复制代码

php


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage