金额数字(小写)转换成文字(大写)

  private static string[] shuzi={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
  private static string[] danwei={"分","角","元","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟"};

  public static string MoneyConvert(double payment) //缴款金额小写转换成大写
  {
   string money;
   int ipayment,itemp,num,length,danweinum;
   string spayment,stemp;
   bool yuan,wan,yi,zero;

   yi=false;
   wan=false;
   yuan=false;
   zero=false;
   money="";
   ipayment=(int)Math.Floor(payment*100+0.5);   //转换成分并四舍五入
   if(ipayment>0)
   {
    spayment=ipayment.ToString();    //转换成字符串
    length=spayment.Length;
    if(length>0)
    {
     money="";
     num=length-1;
     danweinum=0;
     while(num>=0)
     {
      stemp=spayment.Substring(num,1);
      itemp=int.Parse(stemp);
      if(itemp>0)
      {
       if(money.Length>0)
       {
        stemp=shuzi[itemp]+danwei[danweinum];
        if(danweinum==10)
         yi=true;
        if(danweinum==6)
         wan=true;
        if(danweinum==2)
         yuan=true;
        if(danweinum>10)
         if(!yi)
         {
          stemp=stemp+"亿";
          yi=true;
         }
        if(danweinum>6)
         if(!wan)
         {
          stemp=stemp+"万";
          wan=true;
         }
        if(danweinum>2)
         if(!yuan)
         {
          stemp=stemp+"元";
          yuan=true;
         }
        money=stemp+money;
       }
       else
       {
        if(danweinum>0)
        {
         stemp=shuzi[itemp]+danwei[danweinum];
         if(danweinum==10)
          yi=true;
         if(danweinum==6)
          wan=true;
         if(danweinum==2)
          yuan=true;
         if(danweinum>10)
          if(!yi)
          {
           stemp=stemp+"亿";
           yi=true;
          }
         if(danweinum>6)
          if(!wan)
          {
           stemp=stemp+"万";
           wan=true;
          }
         if(danweinum>2)
          if(!yuan)
          {
           stemp=stemp+"元";
           yuan=true;
          }
         money=stemp+"整";
        }
        else
         money=shuzi[itemp]+danwei[danweinum];
       }
       zero=false;
      }
      else
      {
       if(money.Length>0)
        if(!zero)
        {
         money=shuzi[itemp]+money;
        }
       zero=true;
      }
      num--;
      danweinum++;
     }
    }
   }

   return money;
  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值