当前位置:首页 > PHP教程 > php应用 > 列表

PHP数字金额转换成中文大写显示

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-03 21:20:26 浏览: 评论:0 

今天小编就为大家分享一篇关于PHP数字金额转换成中文大写显示,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧。

整个功能其实不难,只是还算挺实用,所以记一下哈,其他编程语言转换一下也是能可以的!

思路:把传过来的金额转换成整数和小数两部分,再对其分别进行转换处理

代码附上:

  1. function moneyToString($num
  2.   $digits = ['零''壹''贰''叁''肆''伍''陆''柒''捌''玖']; 
  3.   $radices =['''拾''佰''仟''万''亿']; 
  4.   $bigRadices = ['''万''亿']; 
  5.   $decimals = ['角''分']; 
  6.   $cn_dollar = '元'
  7.   $cn_integer = '整'
  8.   $num_arr = explode('.'$num); 
  9.   $int_str = $num_arr[0] ?? ''
  10.   $float_str = $num_arr[1] ?? ''
  11.   $outputCharacters = ''
  12.   if ($int_str) { 
  13.     $int_len = strlen($int_str); 
  14.     $zeroCount = 0; 
  15.     for ($i = 0; $i < $int_len$i++) { 
  16.       $p = $int_len - $i - 1; 
  17.       $d = substr($int_str$i, 1); 
  18.       $quotient = $p / 4; 
  19.       $modulus = $p % 4; 
  20.       if ($d == "0") { 
  21.         $zeroCount++; 
  22.       } 
  23.       else { 
  24.         if ($zeroCount > 0) 
  25.         { 
  26.           $outputCharacters += $digits[0]; 
  27.         } 
  28.         $zeroCount = 0; 
  29.         $outputCharacters .= $digits[$d] . $radices[$modulus]; 
  30.       } 
  31.       if ($modulus == 0 && $zeroCount < 4) { 
  32.         $outputCharacters .= $bigRadices[$quotient]; 
  33.         $zeroCount = 0; 
  34.       } 
  35.     } 
  36.     $outputCharacters .= $cn_dollar
  37.   } 
  38.   if ($float_str) { 
  39.     $float_len = strlen($float_str); 
  40.     for ($i = 0; $i < $float_len$i++) { 
  41.       $d = substr($float_str$i, 1); 
  42.       if ($d != "0") { 
  43.         $outputCharacters .= $digits[$d] . $decimals[$i]; 
  44.       } 
  45.     } 
  46.   } 
  47.   if ($outputCharacters == "") { 
  48.     $outputCharacters = $digits[0] . $cn_dollar
  49.   } 
  50.   if ($float_str) { 
  51.     $outputCharacters .= $cn_integer
  52.   } 
  53.   return $outputCharacters
  54. }

Tags: PHP数字金额转换成中文大写

分享到: