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


Posted in PHP onJanuary 05, 2019

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

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

代码附上:

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 相关文章推荐
windows下PHP APACHE MYSQ完整配置
Jan 02 PHP
封装一个PDO数据库操作类代码
Sep 09 PHP
Php 构造函数construct的前下划线是双的_
Dec 08 PHP
简单的php中文转拼音的实现代码
Feb 11 PHP
smarty模板中拼接字符串的方法
Feb 14 PHP
php跨站攻击实例分析
Oct 28 PHP
php+mysql大量用户登录解决方案分析
Dec 29 PHP
Laravel框架中实现使用阿里云ACE缓存服务
Feb 10 PHP
php workerman定时任务的实现代码
Dec 23 PHP
asp函数split()对应php函数explode()
Feb 27 PHP
解决laravel5中auth用户登录其他页面获取不到登录信息的问题
Oct 08 PHP
php解析非标准json、非规范json的方式实例
Dec 10 PHP
PHP yield关键字功能与用法分析
Jan 03 #PHP
PHP获取对象属性的三种方法实例分析
Jan 03 #PHP
PHP获取HTTP body内容的方法
Dec 31 #PHP
php两点地理坐标距离的计算方法
Dec 29 #PHP
php如何计算两坐标点之间的距离
Dec 29 #PHP
PHP命名空间简单用法示例
Dec 28 #PHP
PHP实现函数内修改外部变量值的方法示例
Dec 28 #PHP
You might like
优化PHP代码的53条建议
2008/03/27 PHP
php下intval()和(int)转换使用与区别
2008/07/18 PHP
PHP5 的对象赋值机制介绍
2011/08/02 PHP
php+ajax实现图片文件上传功能实例
2014/06/17 PHP
CI(CodeIgniter)模型用法实例分析
2016/01/20 PHP
mac系统下为 php 添加 pcntl 扩展
2016/08/28 PHP
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
基于Jquery的淡入淡出的特效基础练习
2010/12/13 Javascript
jQuery-Tools-overlay 使用介绍
2012/07/14 Javascript
jquery触发a标签跳转事件示例代码
2013/07/21 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
浅谈JavaScript中的String对象常用方法
2015/02/25 Javascript
JavaScript实现点击按钮直接打印
2016/01/06 Javascript
jQuery隐藏和显示效果实现
2016/04/06 Javascript
基于JS实现EOS隐藏错误提示层代码
2016/04/25 Javascript
AngularJS ng-blur 指令详解及简单实例
2016/07/30 Javascript
微信小程序 form组件详解
2016/10/25 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
发布Angular应用至生产环境的方法
2018/12/10 Javascript
javascript/jquery实现点击触发事件的方法分析
2019/11/11 jQuery
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
2020/05/18 Javascript
[02:23]1个至宝=115个英雄特效 最“绿”至宝拉比克“魔导师密钥”登场
2018/12/29 DOTA
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
python实现图片转字符小工具
2019/04/30 Python
python如何实现异步调用函数执行
2019/07/08 Python
Python延迟绑定问题原理及解决方案
2020/08/04 Python
python工具——Mimesis的简单使用教程
2021/01/16 Python
集中整治工作方案
2014/05/01 职场文书
干部四风问题整改措施思想汇报
2014/10/13 职场文书
2015年新农村建设指导员工作总结
2015/07/24 职场文书
2016年师德学习心得体会
2016/01/12 职场文书
idea以任意顺序debug多线程程序的具体用法
2021/08/30 Java/Android
Python编程super应用场景及示例解析
2021/10/05 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
2022/04/11 Python
python创建字典及相关管理操作
2022/04/13 Python