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

 更新时间:2019年01月05日 11:56:24   作者:只是个宝宝   我要评论

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

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

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

代码附上:

function moneyToString($num)
{
  $digits = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
  $radices =['', '拾', '佰', '仟', '万', '亿'];
  $bigRadices = ['', '万', '亿'];
  $decimals = ['角', '分'];
  $cn_dollar = '元';
  $cn_integer = '整';
  $num_arr = explode('.', $num);
  $int_str = $num_arr[0] ?? '';
  $float_str = $num_arr[1] ?? '';
  $outputCharacters = '';
  if ($int_str) {
    $int_len = strlen($int_str);
    $zeroCount = 0;
    for ($i = 0; $i < $int_len; $i++) {
      $p = $int_len - $i - 1;
      $d = substr($int_str, $i, 1);
      $quotient = $p / 4;
      $modulus = $p % 4;
      if ($d == "0") {
        $zeroCount++;
      }
      else {
        if ($zeroCount > 0)
        {
          $outputCharacters += $digits[0];
        }
        $zeroCount = 0;
        $outputCharacters .= $digits[$d] . $radices[$modulus];
      }
      if ($modulus == 0 && $zeroCount < 4) {
        $outputCharacters .= $bigRadices[$quotient];
        $zeroCount = 0;
      }
    }
    $outputCharacters .= $cn_dollar;
  }
  if ($float_str) {
    $float_len = strlen($float_str);
    for ($i = 0; $i < $float_len; $i++) {
      $d = substr($float_str, $i, 1);
      if ($d != "0") {
        $outputCharacters .= $digits[$d] . $decimals[$i];
      }
    }
  }
  if ($outputCharacters == "") {
    $outputCharacters = $digits[0] . $cn_dollar;
  }
  if ($float_str) {
    $outputCharacters .= $cn_integer;
  }
  return $outputCharacters;
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • PHP里面把16进制的图片数据显示在html的img标签上(实现方法)

    PHP里面把16进制的图片数据显示在html的img标签上(实现方法)

    下面小编就为大家带来一篇PHP里面把16进制的图片数据显示在html的img标签上(实现方法)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • php上传图片到指定位置路径保存到数据库的具体实现

    php上传图片到指定位置路径保存到数据库的具体实现

    本文为大家介绍下php上传图片到指定位置路径保存到数据库的具体实现,感兴趣的朋友不要错过
    2013-12-12
  • php设计模式 Mediator (中介者模式)

    php设计模式 Mediator (中介者模式)

    用一个中介对象来封装一系列的对象交互,使各对象不需要显式地相互引用从而使其耦合松散,而且可以独立地改变它们之间的交互
    2011-06-06
  • PHP中函数gzuncompress无法使用的解决方法

    PHP中函数gzuncompress无法使用的解决方法

    这篇文章主要介绍了PHP中函数gzuncompress无法使用的解决方法,文中的介绍的很详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-03-03
  • 利用PHP自动生成印有用户信息的名片

    利用PHP自动生成印有用户信息的名片

    对于日常照片的处理场景,通常我们的选择都是利用手机上的众多P图软件。使用它们就可以轻松便捷的实现添加文字的功能。而作为码农的我们,当某一天我们需要在编写的网页应用里添加这一功能时,我们该利用何种语言和工具来实现这一目标呢? 下面跟小编一起来看看。
    2016-08-08
  • PHPExcel内存泄漏问题解决方法

    PHPExcel内存泄漏问题解决方法

    这篇文章主要介绍了PHPExcel内存泄漏问题解决方法,本文先是讲解了造成内存泄漏的原因,然后给出了解决方法,需要的朋友可以参考下
    2015-01-01
  • php自动获取目录下的模板的代码

    php自动获取目录下的模板的代码

    php自定义函数之自动获取目录下的模板的实现代码,一般制作模板分离的管理系统需要用得到。
    2010-08-08
  • php解析字符串里所有URL地址的方法

    php解析字符串里所有URL地址的方法

    这篇文章主要介绍了php解析字符串里所有URL地址的方法,涉及php操作数组、字符串及URL的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • php zend解密软件绿色版测试可用

    php zend解密软件绿色版测试可用

    今天有个同事给我个在线的可以解密zend加密的网页,不过没有本地软件更方便,所以找到了一个绿色版zend解密工具,php学习人员必备小工具
    2008-04-04
  • php时间函数用法分析

    php时间函数用法分析

    这篇文章主要介绍了php时间函数用法,结合实例形式分析了php时间戳相关函数time,mktime,date及strtotime的使用方法,非常简单实用,需要的朋友可以参考下
    2016-05-05

最新评论