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桌面中心(一) 创建数据库
Mar 11 PHP
ThinkPHP php 框架学习笔记
Oct 30 PHP
php实现的遍历文件夹下所有文件,编辑删除
Jan 05 PHP
PHP中实现生成静态文件的方法缓解服务器压力
Jan 07 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
Jan 22 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
Jun 12 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
Jul 29 PHP
Laravel5中contracts详解
Mar 02 PHP
Yii框架实现邮箱激活的方法【数字签名】
Oct 18 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
Dec 07 PHP
php依赖注入知识点详解
Sep 23 PHP
Thinkphp框架+Layui实现图片/文件上传功能分析
Feb 07 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单例模式示例分享
2015/02/12 PHP
由Javascript实现的页面日历
2011/11/04 Javascript
javascript中使用正则计算中文长度的例子
2014/04/29 Javascript
JQuery勾选指定name的复选框集合并显示的方法
2015/05/18 Javascript
JavaScript设置表单上传时文件个数的方法
2015/08/11 Javascript
JS打印组合功能
2016/08/04 Javascript
基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )
2017/03/30 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
2017/07/24 Javascript
jQuery获取table表中的td标签(实例讲解)
2017/07/28 jQuery
ReactNative Image组件使用详解
2017/08/07 Javascript
详解node Async/Await 更好的异步编程解决方案
2018/05/10 Javascript
vue实现移动端省市区选择
2019/09/27 Javascript
[11:57]《一刀刀一天》第十七期:TI中国军团加油!
2014/05/26 DOTA
[01:25]DOTA2自定义游戏灵园鬼域等你踏足
2015/10/30 DOTA
[38:32]完美世界DOTA2联赛循环赛 Forest vs DM 第二场 11.06
2020/11/06 DOTA
[07:25]DOTA2-DPC中国联赛2月5日Recap集锦
2021/03/11 DOTA
python 参数列表中的self 显式不等于冗余
2008/12/01 Python
Python模块文件结构代码详解
2018/02/03 Python
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
基于Django框架利用Ajax实现点赞功能实例代码
2018/08/19 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
2019/07/01 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
2019/07/01 Python
Python队列、进程间通信、线程案例
2019/10/25 Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
2019/12/19 Python
Pycharm插件(Grep Console)自定义规则输出颜色日志的方法
2020/05/27 Python
香港交友网站:be2香港
2018/07/22 全球购物
美国家居装饰店:Pier 1
2019/09/04 全球购物
Java面试题:Java类的Main方法如果是Private将会怎么样
2016/08/18 面试题
2015年中秋节演讲稿
2015/03/20 职场文书
介绍信怎么写
2015/05/05 职场文书
2015年试用期工作总结范文
2015/05/28 职场文书
运动会开幕式主持词
2015/07/01 职场文书
运动会新闻报道稿
2015/07/22 职场文书
单位提档介绍信
2015/10/22 职场文书
2016年校园重阳节广播稿
2015/12/18 职场文书
导游词之无锡古运河
2019/11/14 职场文书