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 XML操作的各种方法解析(比较详细)
Jun 17 PHP
php模拟post行为代码总结(POST方式不是绝对安全)
Feb 22 PHP
深入PHP变量存储的详解
Jun 13 PHP
php自动加载autoload机制示例分享
Feb 20 PHP
ThinkPHP3.1数据CURD操作快速入门
Jun 19 PHP
PHP中读取照片exif信息的方法
Aug 20 PHP
PHP多维数组遍历方法(2种实现方法)
Dec 10 PHP
简单的php+mysql聊天室实现方法(附源码)
Jan 05 PHP
Docker 如何布置PHP开发环境
Jun 21 PHP
php微信开发自定义菜单
Aug 27 PHP
laravel框架上传图片实现实时预览功能
Oct 14 PHP
常见的5个PHP编码小陋习以及优化实例讲解
Feb 27 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 fsockopen解决办法 php实现多线程
2014/01/20 PHP
PHP实现图片压缩的两则实例
2014/07/19 PHP
浅谈json_encode用法
2015/03/05 PHP
js中reverse函数的用法详解
2013/12/26 Javascript
javaScript使用EL表达式的几种方式
2014/05/27 Javascript
JavaScript基于ajax编辑信息用法实例
2015/07/15 Javascript
jQuery实现简单倒计时功能的方法
2016/07/04 Javascript
JS与jQuery实现隔行变色的方法
2016/09/09 Javascript
Angularjs实现分页和分页算法的示例代码
2016/12/23 Javascript
JavaScript函数表达式详解及实例
2017/05/05 Javascript
浅谈Vue 初始化性能优化
2017/08/31 Javascript
vue中导出Excel表格的实现代码
2018/10/18 Javascript
Python学习笔记(二)基础语法
2014/06/06 Python
编写Python脚本来获取mp3文件tag信息的教程
2015/05/04 Python
Fabric 应用案例
2016/08/28 Python
python中正则表达式的使用方法
2018/02/25 Python
详解Python中的动态属性和特性
2018/04/07 Python
Python json模块dumps、loads操作示例
2018/09/06 Python
在Python中如何传递任意数量的实参的示例代码
2019/03/21 Python
python程序 线程队列queue使用方法解析
2019/09/23 Python
使用python-pptx包批量修改ppt格式的实现
2020/02/14 Python
Pycharm中import torch报错的快速解决方法
2020/03/05 Python
Python批量将图片灰度化的实现代码
2020/04/11 Python
Python 随机按键模拟2小时
2020/12/30 Python
Boom手表官网:瑞典手表品牌,设计你的手表
2019/03/11 全球购物
全球采购的街头服饰和帽子:Urban Excess
2020/10/28 全球购物
外企求职信范文分享
2013/12/31 职场文书
员工年终演讲稿
2014/01/03 职场文书
幼儿园优秀教师事迹
2014/02/13 职场文书
党员公开承诺事项
2014/03/25 职场文书
环保小标语
2014/06/13 职场文书
公路局群众路线教育实践活动第一阶段工作汇报
2014/10/25 职场文书
校车安全管理责任书
2015/05/11 职场文书
2015年乡镇残联工作总结
2015/05/13 职场文书
世界各国短波电台对东亚播送时间频率表(SW)
2021/06/28 无线电
Vue实现导入Excel功能步骤详解
2021/07/03 Vue.js