脚本之家 服务器常用软件
微信 投稿 交流社区 在线工具

PHP数字金额转换成中文大写显示

 更新时间:2019年01月05日 11:56:24   作者:只是个宝宝   我要评论

今天小编就为大家分享一篇关于PHP数字金额转换成中文大写显示,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

整个功能其实不难,只是还算挺实用,所以记一下哈,其他编程语言转换一下也是能可以的!

思路:把传过来的金额转换成整数和小数两部分,再对其分别进行转换处理

代码附上:

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将二维数组某一个字段相同的数组合并起来的方法

    PHP将二维数组某一个字段相同的数组合并起来的方法

    这篇文章主要介绍了PHP将二维数组某一个字段相同的数组合并起来的方法,涉及PHP多维数组操作的相关技巧,需要的朋友可以参考下
    2016-02-02
  • php 地区分类排序算法

    php 地区分类排序算法

    本篇文章是对使用php实现地区分类排序算法进行了详细的分析介绍,需要的朋友参考下
    2013-07-07
  • php通过smtp邮件验证登陆的方法

    php通过smtp邮件验证登陆的方法

    这篇文章主要介绍了php通过smtp邮件验证登陆的方法,涉及php通过socket针对SMTP邮件服务器进行连接、读写、验证等相关操作技巧,需要的朋友可以参考下
    2016-05-05
  • PHP使用函数静态变量实现指定迭代次数的方法

    PHP使用函数静态变量实现指定迭代次数的方法

    这篇文章主要介绍了PHP使用函数静态变量实现指定迭代次数的方法,结合实例形式分析了php静态变量数据存储的相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • PHP实现动态添加XML中数据的方法

    PHP实现动态添加XML中数据的方法

    这篇文章主要介绍了PHP实现动态添加XML中数据的方法,结合实例形式分析了php操作xml格式数据类的定义及简单使用技巧,需要的朋友可以参考下
    2018-03-03
  • PHP基本语法实例总结

    PHP基本语法实例总结

    这篇文章主要介绍了PHP基本语法,结合实例形式总结分析了php基本的输出、注释、变量的类型与转换、代码风格等,需要的朋友可以参考下
    2016-09-09
  • Json_encode防止汉字转义成unicode的方法

    Json_encode防止汉字转义成unicode的方法

    json_encode通常会把json中的汉字转义成unicode,但是有些时候不是我们想要的,下面小编给大家介绍json_encode防止汉字转义成unicode的方法,需要的朋友参考下吧
    2016-02-02
  • PHP实现分布式memcache设置web集群session同步的方法

    PHP实现分布式memcache设置web集群session同步的方法

    这篇文章主要介绍了PHP实现分布式memcache设置web集群session同步的方法,结合实例形式分析了php设置与使用memcache实现web集群session同步的相关操作技巧与注意事项,需要的朋友可以参考下
    2018-04-04
  • PHP实现的登录,注册及密码修改功能分析

    PHP实现的登录,注册及密码修改功能分析

    这篇文章主要介绍了PHP实现的登录,注册及密码修改功能,结合实例形式分析了php实现登陆功能的相关数据库操作、ajax交互、数据验证及验证码相关操作技巧,需要的朋友可以参考下
    2016-11-11
  • php5.3中连接sqlserver2000的两种方法(com与ODBC)

    php5.3中连接sqlserver2000的两种方法(com与ODBC)

    有时候我们需要在php5.3环境中使用sqlserver2000,这里简单的介绍下,我们知道新版的php5.3是不支持mysql自带的mssql_connect这个数据连接函数,如果需要连接sqlserver数据库,我们只能使用了com 接口来做
    2012-12-12

最新评论