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作的文本留言本的例子(二)
Oct 09 PHP
PHP 上传文件的方法(类)
Jul 30 PHP
解析php5配置使用pdo
Jul 03 PHP
php实现12306余票查询、价格查询示例
Apr 17 PHP
PHP中定义数组常量(array常量)的方法
Nov 17 PHP
PHP获取photoshop写入图片文字信息的方法
Mar 31 PHP
PHP中header函数的用法及其注意事项详解
Jun 13 PHP
PHP大神的十大优良习惯
Sep 14 PHP
centos 7.2下搭建LNMP环境教程
Nov 20 PHP
PHP对象实例化单例方法
Jan 19 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
Mar 18 PHP
PHP实现单例模式建立数据库连接的方法分析
Feb 11 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
备份mysql数据库的php代码(一个表一个文件)
2010/05/28 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
2015/11/18 PHP
php使用pdo连接sqlite3的配置示例
2016/05/27 PHP
通过源码解析Laravel的依赖注入
2018/01/22 PHP
php递归函数怎么用才有效
2018/02/24 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
2018/07/20 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
2018/10/15 PHP
laravel自定义分页的实现案例offset()和limit()
2019/10/15 PHP
setTimeout和setInterval的浏览器兼容性分析
2007/02/27 Javascript
JS实现页面跳转参数不丢失的方法
2016/11/28 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
2017/01/14 Javascript
微信小程序 图片绝对定位(背景图片)
2017/04/05 Javascript
AngularJS路由删除#符号解决的办法
2017/09/28 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
2020/06/05 Javascript
在vue中实现嵌套页面(iframe)
2020/07/30 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
[40:27]完美世界DOTA2联赛PWL S3 PXG vs GXR 第一场 12.19
2020/12/24 DOTA
python实现爬虫下载漫画示例
2014/02/16 Python
python 快速把超大txt文件转存为csv的实例
2018/10/26 Python
python  logging日志打印过程解析
2019/10/22 Python
opencv-python 读取图像并转换颜色空间实例
2019/12/09 Python
python获取依赖包和安装依赖包教程
2020/02/13 Python
Python爬虫防封ip的一些技巧
2020/08/06 Python
使用CSS3制作一个简单的Chrome模拟器
2015/07/15 HTML / CSS
HTML5 和小程序实现拍照图片旋转、压缩和上传功能
2018/10/08 HTML / CSS
中国双语服务优势的在线购票及活动平台:247tickets
2018/10/26 全球购物
创意广告词
2014/03/17 职场文书
学生个人自我鉴定范文
2014/03/28 职场文书
有关爱国演讲稿
2014/05/07 职场文书
大学新闻系求职信
2014/06/03 职场文书
烟台的海导游词
2015/02/02 职场文书
2016年中学端午节主题活动总结
2016/04/01 职场文书
MySQL数据库超时设置配置的方法实例
2021/10/15 MySQL
Golang 切片(Slice)实现增删改查
2022/04/22 Golang
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
2022/08/14 Servers