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 相关文章推荐
php 无限分类的树类代码
Dec 03 PHP
PHP的可变变量名的使用方法分享
Feb 05 PHP
深入php处理整数函数的详解
Jun 09 PHP
基于PHP创建Cookie数组的详解
Jul 03 PHP
PHP使用CURL获取302跳转后的地址实例
May 04 PHP
php+ajax实时刷新简单实例
Feb 25 PHP
Yii2实现同时搜索多个字段的方法
Aug 10 PHP
PHP基于curl后台远程登录正方教务系统的方法
Oct 14 PHP
PHP注释语法规范与命名规范详解篇
Jan 21 PHP
PHP如何开启Opcache功能提升程序处理效率
Apr 27 PHP
PHP code 验证码生成类定义和简单使用示例
May 27 PHP
HTTP头隐藏PHP版本号实现过程解析
Dec 09 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
自制汽车收音机天线:收听广播的技巧和方法
2021/03/02 无线电
神盾加密解密教程(二)PHP 神盾解密
2014/06/08 PHP
PHP简单处理表单输入的特殊字符的方法
2016/02/03 PHP
php读取txt文件并将数据插入到数据库
2016/02/23 PHP
thinkphp框架实现删除和批量删除
2016/06/29 PHP
详解PHP中curl_multi并发的实现
2020/06/08 PHP
JS event使用方法详解
2008/04/28 Javascript
使用jquery的ajax需要注意的地方dataType的设置
2013/08/12 Javascript
JavaScript中的prototype和constructor简明总结
2014/04/05 Javascript
浅析node.js中close事件
2014/11/26 Javascript
Jquery判断radio、selelct、checkbox是否选中及获取选中值方法总结
2015/04/15 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
JS实现获取当前URL和来源URL的方法
2016/08/24 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
2017/04/22 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
JavaScript实现元素滚动条到达一定位置循环追加内容
2017/12/28 Javascript
Angular刷新当前页面的实现方法
2018/11/21 Javascript
js实现抽奖的两种方法
2020/03/19 Javascript
nuxt 自定义 auth 中间件实现令牌的持久化操作
2020/11/05 Javascript
Python实现端口复用实例代码
2014/07/03 Python
git进行版本控制心得详谈
2017/12/10 Python
Python实现PS滤镜碎片特效功能示例
2018/01/24 Python
Python贪心算法实例小结
2018/04/22 Python
Django 源码WSGI剖析过程详解
2019/08/05 Python
关于Python3 类方法、静态方法新解
2019/08/30 Python
HTML5新增的Css选择器、伪类介绍
2013/08/07 HTML / CSS
加拿大领先的优质厨具产品在线购物网站:Golda’s Kitchen
2017/11/17 全球购物
音乐教学案例
2014/01/30 职场文书
2015年教学管理工作总结
2015/05/20 职场文书
幼儿园教师读书笔记
2015/06/29 职场文书
党员发展大会主持词
2015/07/03 职场文书
2016年秋季运动会通讯稿
2015/11/25 职场文书
2016入党积极分子心得体会
2016/01/06 职场文书
高中数学课堂教学反思
2016/02/18 职场文书
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
2022/04/06 Vue.js