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 相关文章推荐
PHP5.0对象模型探索之抽象方法和抽象类
Sep 05 PHP
php+mysql开源XNA 聚合程序发布 下载
Jul 13 PHP
探讨捕获php错误信息方法的详解
Jun 09 PHP
使用php伪造referer的方法 利用referer防止图片盗链
Jan 20 PHP
初识php MVC
Sep 10 PHP
php ImageMagick windows下安装教程
Jan 26 PHP
PHP模拟asp中response类实现方法
Aug 08 PHP
php实现微信公众号主动推送消息
Dec 31 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
Jan 09 PHP
php 使用fopen函数创建、打开文件详解及实例代码
Sep 24 PHP
yii框架无限极分类的实现方法
Apr 08 PHP
Swoole 5将移除自动添加Event::wait()特性详解
Jul 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模拟js函数unescape的函数代码
2012/10/20 PHP
php图片的裁剪与缩放生成符合需求的缩略图
2013/01/11 PHP
Codeigniter生成Excel文档的简单方法
2014/06/12 PHP
php常用数学函数汇总
2014/11/21 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
js树形控件脚本代码
2008/07/24 Javascript
javascript加号&quot;+&quot;的二义性说明
2013/03/04 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
浅谈javascript属性onresize
2015/04/20 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
2015/05/19 Javascript
jQuery Validate表单验证深入学习
2015/12/18 Javascript
jQuery实现简单隔行变色的方法
2016/02/20 Javascript
jQuery简单实现提交数据出现loading进度条的方法
2016/03/29 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
jQuery动态添加元素无法触发绑定事件的解决方法分析
2018/01/02 jQuery
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
JavaScript ES2019中的8个新特性详解
2019/02/20 Javascript
详解iview的checkbox多选框全选时校验问题
2019/06/10 Javascript
JavaScript一元正号运算符示例代码
2019/06/30 Javascript
layui数据表格重载实现往后台传参
2019/11/15 Javascript
Vue检测屏幕变化来改变不同的charts样式实例
2020/10/26 Javascript
以Flask为例讲解Python的框架的使用方法
2015/04/29 Python
Linux 下 Python 实现按任意键退出的实现方法
2016/09/25 Python
python读取和保存图片5种方法对比
2018/09/12 Python
python把1变成01的步骤总结
2019/02/27 Python
python实现倒计时小工具
2019/07/29 Python
django中related_name的用法说明
2020/05/20 Python
全球最大的服务市场:Fiverr
2017/01/03 全球购物
沪江旗下的海量优质课程平台:沪江网校
2017/11/07 全球购物
Lyle & Scott苏格兰金鹰官网:英国皇室御用品牌
2018/05/09 全球购物
介绍一下SQL Server里面的索引视图
2016/07/31 面试题
2014年会计工作总结
2014/11/27 职场文书
婚育证明格式
2015/06/17 职场文书