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']);
     ?>
    
    
  • 相关阅读:
    CDN 机制
    canvas绘制旋转图形
    前端资源网站
    css中的em用法
    响应式网页设计【转载】
    闭包与非闭包
    跨域文档之间的访问
    ajax跨域之---服务器端代理实现
    jsonp跨域实现
    freemarker 命名空间
  • 原文地址:https://www.cnblogs.com/lovellll/p/10203037.html
Copyright © 2011-2022 走看看