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 URL编码解码函数代码
Mar 10 PHP
php 正则匹配函数体
Aug 25 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
Nov 10 PHP
php切割页面div内容的实现代码分享
Jul 31 PHP
深入php之规范编程命名小结
May 15 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
Jun 27 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
Jun 20 PHP
php链表用法实例分析
Jul 09 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
Mar 07 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
Mar 17 PHP
php下载远程大文件(获取远程文件大小)的实例
Jun 17 PHP
php使用gearman进行任务分发操作实例详解
Feb 26 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
Google Voice 短信发送接口PHP开源版(2010.5更新)
2010/07/22 PHP
destoon实现调用图文新闻的方法
2014/08/21 PHP
php实现两表合并成新表并且有序排列的方法
2014/12/05 PHP
PHP Header用于页面跳转时的几个注意事项
2016/10/21 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
实例解析php的数据类型
2018/10/24 PHP
浅谈PHPANALYSIS提取关键字
2019/03/08 PHP
PHP保存Base64图片base64_decode的问题整理
2019/11/04 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
JavaScript Archive Network 集合
2007/05/12 Javascript
jQuery Select(单选) 模拟插件 V1.3.62 改进版
2010/07/17 Javascript
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
2012/12/09 Javascript
ExtJS如何设置与获取radio控件的选取状态
2014/01/22 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
使用Math.max,Math.min获取数组中的最值实例
2017/04/25 Javascript
详解Nodejs之npm&amp;package.json
2017/06/15 NodeJs
详解webpack的proxyTable无效的解决方案
2018/06/15 Javascript
js实现随机div颜色位置 类似满天星效果
2019/10/24 Javascript
原生JS实现无缝轮播图片
2020/06/24 Javascript
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
Python 异常处理的实例详解
2017/09/11 Python
对python抓取需要登录网站数据的方法详解
2018/05/21 Python
python爬虫自动创建文件夹的功能
2018/08/01 Python
深入浅析Python科学计算库Scipy及安装步骤
2019/10/12 Python
Tensorflow轻松实现XOR运算的方式
2020/02/03 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
2021/01/27 Python
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
皮姆斯勒语言学习:Pimsleur Language Programs
2018/06/30 全球购物
教育学专业实习生的自我鉴定
2013/11/26 职场文书
致裁判员加油稿
2014/02/08 职场文书
巾帼文明岗申报材料
2014/05/01 职场文书
校园安全演讲稿
2014/05/09 职场文书
三问三解心得体会
2014/09/05 职场文书
2014年法务工作总结
2014/12/11 职场文书
2016年六一文艺汇演开幕词
2016/03/04 职场文书
查看nginx配置文件路径和资源文件路径的方法
2021/03/31 Servers