• 售前

  • 售后

热门帖子
入门百科

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

[复制链接]
我是的十八簿 显示全部楼层 发表于 2021-10-26 13:28:04 |阅读模式 打印 上一主题 下一主题
整个功能实在不难,只是还算挺实用,以是记一下哈,其他编程语言转换一下也是能可以的!
思路:把传过来的金额转换成整数和小数两部门,再对其分别进行转换处置惩罚
代码附上:
  1. function moneyToString($num)
  2. {
  3.   $digits = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
  4.   $radices =['', '拾', '佰', '仟', '万', '亿'];
  5.   $bigRadices = ['', '万', '亿'];
  6.   $decimals = ['角', '分'];
  7.   $cn_dollar = '元';
  8.   $cn_integer = '整';
  9.   $num_arr = explode('.', $num);
  10.   $int_str = $num_arr[0] ?? '';
  11.   $float_str = $num_arr[1] ?? '';
  12.   $outputCharacters = '';
  13.   if ($int_str) {
  14.     $int_len = strlen($int_str);
  15.     $zeroCount = 0;
  16.     for ($i = 0; $i < $int_len; $i++) {
  17.       $p = $int_len - $i - 1;
  18.       $d = substr($int_str, $i, 1);
  19.       $quotient = $p / 4;
  20.       $modulus = $p % 4;
  21.       if ($d == "0") {
  22.         $zeroCount++;
  23.       }
  24.       else {
  25.         if ($zeroCount > 0)
  26.         {
  27.           $outputCharacters += $digits[0];
  28.         }
  29.         $zeroCount = 0;
  30.         $outputCharacters .= $digits[$d] . $radices[$modulus];
  31.       }
  32.       if ($modulus == 0 && $zeroCount < 4) {
  33.         $outputCharacters .= $bigRadices[$quotient];
  34.         $zeroCount = 0;
  35.       }
  36.     }
  37.     $outputCharacters .= $cn_dollar;
  38.   }
  39.   if ($float_str) {
  40.     $float_len = strlen($float_str);
  41.     for ($i = 0; $i < $float_len; $i++) {
  42.       $d = substr($float_str, $i, 1);
  43.       if ($d != "0") {
  44.         $outputCharacters .= $digits[$d] . $decimals[$i];
  45.       }
  46.     }
  47.   }
  48.   if ($outputCharacters == "") {
  49.     $outputCharacters = $digits[0] . $cn_dollar;
  50.   }
  51.   if ($float_str) {
  52.     $outputCharacters .= $cn_integer;
  53.   }
  54.   return $outputCharacters;
  55. }
复制代码
总结
以上就是这篇文章的全部内容了,盼望本文的内容对大家的学习或者工作具有肯定的参考学习代价,谢谢大家对脚本之家的支持。如果你想了解更多相干内容请检察下面相干链接

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作