zoukankan      html  css  js  c++  java
  • php数字转人民币金额大写


    numToRmb.php

    
    <?php
    header("content-type:text/html;charset=utf-8");
    function numToRmb($num){
      $rmbNum = ['零','壹','贰','叁','肆','伍','陆','柒','捌','玖'];
      $rmbUnit = ['分','角','元','拾','佰','仟','万','拾','佰','仟','亿','拾','佰','仟','万','拾','佰','仟'];
      //数字预处理
      if($num == '' || $num == 0){
        return '请输入一个大于0的金额,谢谢!';
      }else {
        $num = number_format($num, 2, '.', '')*100;
      }
      if (strlen(number_format($num, 0, '', ''))>18) {
        return '输入的金额不得超过千万亿!';
      }
      //开始数字转换人民币大写
      $out1 = 0;
      $numRmb = '';
      $unit = '';
      $rmb = '';
      for ($out1 = 0 ; $out1 < strlen(number_format($num, 0, '', '')) ; $out1++) {
        $numRmb = $rmbNum[substr(number_format($num, 0, '', ''), $out1, 1)];
        $unit = $rmbUnit[strlen(number_format($num, 0, '', ''))-$out1-1];
        $rmb = $rmb.$numRmb.$unit;
      }
      // 将大写人民币中的零进行调整
      $rmbStrlen = strlen($rmb);
      for ($out2=0; $out2 < $rmbStrlen; $out2=$out2+3) {
        $tempRmb = substr($rmb, $out2, 6);
        if ($tempRmb=='零元'||$tempRmb=='零万'||$tempRmb=='零亿') {
          $left = substr($rmb, 0, $out2);
          $right = substr($rmb, $out2+3);
          $rmb = $left.$right;
          $out2 = $out2 - 3;
          $rmbStrlen = $rmbStrlen - 3;
        }elseif ($tempRmb=='零拾'||$tempRmb=='零佰'||$tempRmb=='零仟') {
          $left = substr($rmb, 0, $out2+3);
          $right = substr($rmb, $out2+6);
          $rmb = $left.$right;
          $out2 = $out2 - 3;
          $rmbStrlen = $rmbStrlen - 3;
        }elseif ($tempRmb=='零分'||$tempRmb=='零角') {
          $left = substr($rmb, 0, $out2);
          $right = substr($rmb, $out2+6);
          $rmb = $left.$right;
          $out2 = $out2 - 6;
          $rmbStrlen = $rmbStrlen - 6;
        }
        if ($tempRmb=='零零') {
          $left = substr($rmb, 0, $out2);
          $right = substr($rmb, $out2+3);
          $rmb = $left.$right;
          $out2 = $out2 - 3;
          $rmbStrlen = $rmbStrlen - 3;
        }
        if(substr($rmb,strlen($rmb)-3)=='元') {
          $rmb = $rmb.'整';
        }
      }
      return $rmb;
    }
    echo numToRmb($_POST['num']);
     ?>
    
    
  • 相关阅读:
    解决myeclipse2014 中使用低版本的maven插件
    菜鸟成长之路-------使用过滤器实现自动登录
    动态代理
    JSON资料整理
    转账案例中引入事务
    ThreadLocal来管理事务
    【临窗旋墨-leetcode】0001-两数之和-[简单]
    shiro是如何清除过期session的(源码版本shiro1.6)
    [临窗旋墨]javaMelody初始化以及销毁时的处理逻辑及监控日志丢失问题排查
    Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"
  • 原文地址:https://www.cnblogs.com/lovellll/p/10203037.html
Copyright © 2011-2022 走看看