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利用cookie实现访问次数统计代码
May 19 PHP
如何修改和添加Apache的默认站点目录
Jul 05 PHP
md5 16位二进制与32位字符串相互转换示例
Dec 30 PHP
php中http与https跨域共享session的解决方法
Dec 20 PHP
php实现监控varnish缓存服务器的状态
Dec 30 PHP
PHP数组操作――获取数组最后一个值的方法
Apr 14 PHP
在Mac上编译安装PHP7的开发环境
Jul 28 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
May 06 PHP
CI框架实现框架前后端分离的方法详解
Dec 30 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
Nov 06 PHP
PHP7扩展开发之hello word实现方法详解
Jan 15 PHP
php-fpm中max_children的配置
Mar 15 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入门学习的几个不错的实例代码
2008/07/13 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
2012/05/05 PHP
提高php运行速度的一些小技巧分享
2012/07/03 PHP
使用php将某个目录下面的所有文件罗列出来的方法详解
2013/06/21 PHP
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
jQuery EasyUI 中文API Layout(Tabs)
2010/04/27 Javascript
JavaScript中yield实用简洁实现方式
2010/06/12 Javascript
计算世界完全对称日的js代码,粗糙版
2011/11/04 Javascript
有关javascript的性能优化 (repaint和reflow)
2013/04/12 Javascript
浅析JavaScript中的常用算法与函数
2013/11/21 Javascript
js单例模式详解实例
2013/11/21 Javascript
写JQuery插件的基本知识
2013/11/25 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
2016/01/27 Javascript
EasyUI 结合JS导出Excel文件的实现方法
2016/11/10 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
vue.js 实现输入框动态添加功能
2018/06/25 Javascript
快速解决vue在ios端下点击响应延时的问题
2018/08/27 Javascript
vue下拉菜单组件(含搜索)的实现代码
2018/11/25 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
微信小程序 wx.getUserInfo引导用户授权问题实例分析
2020/03/09 Javascript
深入了解Vue.js 混入(mixins)
2020/07/23 Javascript
vue 计算属性和侦听器的使用小结
2021/01/25 Vue.js
零基础写python爬虫之神器正则表达式
2014/11/06 Python
Pythont特殊语法filter,map,reduce,apply使用方法
2016/02/27 Python
Django使用paginator插件实现翻页功能的实例
2018/10/24 Python
python使用requests模块实现爬取电影天堂最新电影信息
2019/04/03 Python
Tensorflow实现酸奶销量预测分析
2019/07/19 Python
Python爬虫实现自动登录、签到功能的代码
2020/08/20 Python
Python实现随机爬山算法
2021/01/29 Python
国贸专业个人求职信分享
2013/12/04 职场文书
优秀工会工作者事迹材料
2014/06/02 职场文书
经典演讲稿开场白
2014/08/25 职场文书
怎样写离婚协议书
2015/01/26 职场文书
会议简报格式范文
2015/07/20 职场文书
实验心得体会范文
2016/01/25 职场文书
银行求职信范文
2019/05/13 职场文书