/*
* 数字金额转换成中文大写金额的函数
* String Int $num 要转换的小写数字或小写字符串
* return 大写数字
*/
function num_to_rmb($num){
  $c1 = "零壹贰叁肆伍陆柒捌玖";
  $c2 = "分角元拾佰仟万拾佰仟亿";
  //精确到分后面就不要了,所以只留两个小数位
  $num = round($num, );
  //将数字转化为整数
  $num = $num * ;
  if (strlen($num) > ) {
    return "金额太大,请检查";
  }
  $i = ;
  $c = "";
  while () {
    if ($i == ) {
      //获取最后一位数字
      $n = substr($num, strlen($num)-, );
    } else {
      $n = $num % ;
    }
    //每次将最后一位数字转化为中文
    $p1 = substr($c1, * $n, );
    $p2 = substr($c2, * $i, );
    if ($n != '' || ($n == '' && ($p2 == '亿' || $p2 == '万' || $p2 == '元'))) {
      $c = $p1 . $p2 . $c;
    } else {
      $c = $p1 . $c;
    }
    $i = $i + ;
    //去掉数字最后一位了
    $num = $num / ;
    $num = (int)$num;
    //结束循环
    if ($num == ) {
      break;
    }
  }
  $j = ;
  $slen = strlen($c);
  while ($j < $slen) {
    //utf8一个汉字相当3个字符
    $m = substr($c, $j, );
    //处理数字中很多0的情况,每次循环去掉一个汉字“零”
    if ($m == '零元' || $m == '零万' || $m == '零亿' || $m == '零零') {
      $left = substr($c, , $j);
      $right = substr($c, $j + );
      $c = $left . $right;
      $j = $j-;
      $slen = $slen-;
    }
    $j = $j + ;
  }
  //这个是为了去掉类似23.0中最后一个“零”字
  if (substr($c, strlen($c)-, ) == '零') {
    $c = substr($c, , strlen($c)-);
  }
  //将处理的汉字加上“整”
  if (empty($c)) {
    return "零元整";
  }else{
    return $c . "整";
  }
}

 $money = 68000000.00;
 echo num_to_rmb($money); //陆仟捌佰万元整

PHP金钱数字转金钱大写的更多相关文章

  1. ORACLE数字转换人民币大写

    ORACLE 数字转换人民币大写     示例.   数字                    :183066999230.68 人民币大写        :壹仟捌佰参拾亿陆仟陆佰玖拾玖万玖仟贰佰参 ...

  2. php 把数字转化为大写中文

    PHP 数字转大写中文 PHP入门小菜鸟一枚.下午要求写一个把数字转成大写中文的脚本,百度了一波,几十个博客和网站都是用的那四个代码,第一个运行不了,第二个有问题,不合要求,第三个第四个太长,懒得看, ...

  3. 数字转人民币大写(SQL SERVER)

    --数字转人民币大写NumToRMB ---新建方法create  FUNCTION dbo.NumToRMB (@num numeric(14,5))   RETURNS varchar(100) ...

  4. 前端js 判断输入的必须是数字,判断金钱

    //输入的必须是数字 $(".xzjl").on("keyup", ".num", function () { var v = $(this ...

  5. 分享一下 常用的转换方法(例如:数字转金钱,文本与html互转等)

    public sealed class SAFCFormater { /// <summary> /// 文本格式到HTML /// </summary> /// <pa ...

  6. php 处理数字为金钱格式

    number_format(需要转换的数字,保留小数个数,小数点符号,每三位的分隔符) echo number_format("1000000")."<br> ...

  7. 【PHP】金额数字转换成大写形式

    <?php /*将数字金额转成大写*/ function num_to_upper($num) { $d = array('零','壹','贰','叁','肆','伍','陆','柒','捌', ...

  8. C# 数字转换成大写

    /// <summary> /// 数字转大写 /// </summary> /// <param name="Num">数字</para ...

  9. Javascript作业—数字转化为大写

    开始学javascript,写作业. <script type="text/javascript"> function toChinese(money){ var ch ...

随机推荐

  1. 「NOI2013」小 Q 的修炼 解题报告

    「NOI2013」小 Q 的修炼 第一次完整的做出一个提答,花了半个晚上+一个上午+半个下午 总体来说太慢了 对于此题,我认为的难点是观察数据并猜测性质和读入操作 我隔一会就思考这个sb字符串读起来怎 ...

  2. 洛谷P4389 付公主的背包--生成函数+多项式

    题目链接戳这里 题目描述 有\(n\)件不同的商品,每件物品都有无限个,输出总体积为\([1,m]\)的方案数 思路 直接跑背包有\(30\) 考虑把每个物品的生成函数设出来,对于一件体积为\(v\) ...

  3. hbuilder、hbuilderx和vscode对比

    1. 从内存来对比 1.1 vscode占用内存 打开同一个项目,发现vscode占用内存比较多 1.2 HBuilder占用内存 1.3 HBuilderx占用内存 1.4 对比 从内存上来看,HB ...

  4. (N叉树 DFS 递归 BFS) leetcode 559. Maximum Depth of N-ary Tree

    Given a n-ary tree, find its maximum depth. The maximum depth is the number of nodes along the longe ...

  5. 野路子码农系列(3)plotly可视化的简单套路

    又双叒叕要跟客户汇报了,图都准备好了吗?matplotlib出图嫌丑?那用用plotly吧,让你的图看上去经费爆炸~ P1 起因 第一次接触plotly这个库是在我们做的一个列车信号数据挖掘的项目里, ...

  6. Maven(一)简介安装

    一.什么是maven,它能干什么? ①:maven maven是一个项目管理工具.它包含了一个项目对象模型,一组标准集合,一个生命周期,一个依赖管理系统,和用来运行定义生命周期中插件目标的逻辑. 传统 ...

  7. django——个人博客之分页/筛选功能

    在完成了注册.登录后就应该显示主页,在主页中有各种功能的按钮,用户点击后进入后台管理,不同角色的用户根据权限不同显示的页面是不相同的,在个人博客页面会显示自己发布的文章,以及自己的保障记录,在进入后台 ...

  8. D. Vanya and Treasure Codeforces Round #355 (Div. 2)

    http://codeforces.com/contest/677/problem/D 建颗新树,节点元素包含r.c.dis,第i层包含拥有编号为i的钥匙的所有节点.用i-1层更新i层,逐层更新到底层 ...

  9. seajs使用方法

    必须执行seajs.use()时,才能自动执行预加载项 <script src="/UILib/sea.js"></script> <script s ...

  10. 伯努利数学习笔记&&Luogu P3711 仓鼠的数学题

    新科技 Luogu P3711 题意 设$ S_{k,n}$表示$ \displaystyle\sum_{i=0}^n i^k$ 求多项式$\displaystyle\sum_{k=0}^n S_{k ...