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 explode函数实例代码
Feb 27 PHP
CI框架自动加载session出现报错的解决办法
Jun 17 PHP
php数组添加元素方法小结
Dec 20 PHP
PHP生成plist数据的方法
Jun 16 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
Dec 10 PHP
PHP实现的DES加密解密实例代码
Apr 06 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
Oct 10 PHP
Symfony2针对输入时间进行查询的方法分析
Jun 28 PHP
laravel 框架执行流程与原理简单分析
Feb 01 PHP
PHP SESSION跨页面传递失败解决方案
Dec 11 PHP
PHP判断是否是json字符串
Apr 01 PHP
微信小程序结合ThinkPHP5授权登陆后获取手机号
Nov 23 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中的正规表达式(二)
2006/10/09 PHP
php使用mb_check_encoding检查字符串在指定的编码里是否有效
2013/11/07 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
2014/11/06 PHP
php用户登录之cookie信息安全分析
2016/05/13 PHP
PHP生成唯一ID之SnowFlake算法
2016/12/17 PHP
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
2011/10/16 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
2012/12/10 Javascript
js表单中选择框值的获取及表单的序列化
2015/12/17 Javascript
浅析BootStrap模态框的使用(经典)
2016/04/29 Javascript
Bootstrap基本组件学习笔记之分页(12)
2016/12/08 Javascript
js如何判断是否在iframe中及防止网页被别站用iframe嵌套
2017/01/11 Javascript
javascript函数的节流[throttle]与防抖[debounce]
2017/11/15 Javascript
Node.js net模块功能及事件监听用法分析
2019/01/05 Javascript
vue使用websocket的方法实例分析
2019/06/22 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
vue实现滚动鼠标滚轮切换页面
2020/12/13 Vue.js
JavaScript中跨域问题的深入理解
2021/03/04 Javascript
[15:46]教你分分钟做大人——沙王
2015/03/11 DOTA
2款Python内存检测工具介绍和使用方法
2014/06/01 Python
Python实现的多线程http压力测试代码
2017/02/08 Python
python实现教务管理系统
2018/03/12 Python
python使用turtle库与random库绘制雪花
2018/06/22 Python
Linux下python3.6.1环境配置教程
2018/09/26 Python
PyCharm更改字体和界面样式的方法步骤
2019/09/27 Python
html5教程调用绘图api画简单的圆形代码分享
2013/12/04 HTML / CSS
Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗
2013/05/01 面试题
网络教育毕业生自我鉴定
2013/10/10 职场文书
电子商务专员岗位职责
2013/12/11 职场文书
函授毕业个人自我评价
2014/02/20 职场文书
我的中国梦演讲稿400字
2014/08/19 职场文书
2014年十一国庆节活动方案
2014/09/16 职场文书
2015年爱牙日活动总结
2015/03/23 职场文书
停发工资证明范本
2015/06/12 职场文书
少先大队干部竞选稿
2015/11/20 职场文书
感谢信
2019/04/11 职场文书