金额大小写转换函数

虽然网上的金额大小写转换的例子数不胜数,但还是想自己写一个,这样思路会更清晰一些吧。呵呵,可是写来写去还是不觉得写的好。但总归是自己的孩子,说到孩子,昨天还真梦到一个,我抱着他,那么小,真怕我把他给摔了。。。幸好只是个梦~~~

我想将我做成的DLL上传,可这里好像没有地方传哦,那我只好在资源里上传啰,除了DLL还有一个调用的说明,很详细的。希望大家多提宝贵意建!!!

 以下是源代码:

using System;
public class rmbconvert
{
    
    public String convert(String rmb0)           
 {
 //String rmb = Console.ReadLine();    
        String returnvalue = "";
        rmb0 = rmb0.Replace(",","");
    String rmb = rmb0;
  
 char[] s = new char[10] {'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
    char[] s1 = new char[15] {'分','角','元','拾','佰','仟','万','拾','佰','仟','亿','拾','佰','仟','万'};
      
 

    String rmb1 = rmb;
    String rmb2 = "";
   
   
    if (rmb.IndexOf('.') != -1)
    {
        rmb1 = rmb.Substring(0, rmb.IndexOf('.'));
            
        rmb2 = rmb.Substring(rmb.IndexOf('.') + 1, 2);

        if(rmb1.Length > 13)
     {
         returnvalue = "超出了人民币的最大金额";
         return returnvalue;
     }
 
        for (int i = rmb1.Length; i > 0; i--)
        {
            int m = int.Parse(rmb1.Substring(rmb1.Length - i, 1));
            returnvalue += s[m].ToString() + s1[i + 1];
            returnvalue = returnvalue.Replace("零仟", "");
            returnvalue = returnvalue.Replace("零佰", "");
            returnvalue = returnvalue.Replace("零亿", "亿");
            returnvalue = returnvalue.Replace("零万", "万");
            returnvalue = returnvalue.Replace("零元", "元");

            if (rmb1.Length >= 3)
            {
                if (i == rmb1.Length - 1)
                {
                    if (m == 0)
                    {
                        returnvalue = returnvalue.Replace("零拾", "零");
                    }
                }
            }
            else
            {
                returnvalue = returnvalue.Replace("零拾", "");
            }
            returnvalue = returnvalue.Replace("零零", "零");
          
        }
        int n = int.Parse(rmb2.Substring(0, 1));
        int o = int.Parse(rmb2.Substring(1, 1));
        if(n == 0 && o == 0)
        {
            returnvalue += "整";
        }
        if(n != 0)
        {
            returnvalue += s[n].ToString() + s1[1];
            if (o != 0)
            {
                returnvalue += s[o].ToString() + s1[0];
            }
        }
        if(n == 0 && o != 0)
        {
            returnvalue += s[n].ToString();  // + s1[0]
            returnvalue += s[o].ToString() + s1[0];
        } 
    }
    else
    {
        if(rmb.Length > 13)
     {
         returnvalue = "超出了人民币的最大金额";
         return returnvalue;
     }
 
       
        for (int i = rmb.Length; i > 0; i--)
        {
            int m = int.Parse(rmb.Substring(rmb.Length - i, 1));
            
                returnvalue += s[m].ToString() + s1[i + 1];
                returnvalue = returnvalue.Replace("零仟", "");
                returnvalue = returnvalue.Replace("零佰", "");
               
                returnvalue = returnvalue.Replace("零亿", "亿");
                returnvalue = returnvalue.Replace("零万", "万");
                returnvalue = returnvalue.Replace("零元", "元");
               
                if (rmb.Length >= 3)
                {
                    if (i == rmb.Length - 1)
                    {
                        if (m == 0)
                        {
                            returnvalue = returnvalue.Replace("零拾", "零");
                        }
                    }
                }
                else
                {
                    returnvalue = returnvalue.Replace("零拾", "");
                }
                returnvalue = returnvalue.Replace("零零", "零");
            
        }
       
        returnvalue += "整";
    }
   
    returnvalue = returnvalue.Replace("零仟", "零");
    returnvalue = returnvalue.Replace("零佰", "零");
    returnvalue = returnvalue.Replace("零拾", "零");
    returnvalue = returnvalue.Replace("零亿", "亿");
    returnvalue = returnvalue.Replace("零仟", "零");
    returnvalue = returnvalue.Replace("零佰", "零");
    returnvalue = returnvalue.Replace("零拾", "零");
    returnvalue = returnvalue.Replace("零万", "万");
    returnvalue = returnvalue.Replace("零仟", "零");
    returnvalue = returnvalue.Replace("零佰", "零");
    returnvalue = returnvalue.Replace("零拾", "零");
    returnvalue = returnvalue.Replace("零元", "元");
    returnvalue = returnvalue.Replace("零零", "零");
    returnvalue = returnvalue.Replace("零零", "零");
    returnvalue = returnvalue.Replace("零零", "零");
    returnvalue = returnvalue.Replace("零零", "零");
    returnvalue = returnvalue.Replace("零零", "零");
    returnvalue = returnvalue.Replace("零零", "零");
    returnvalue = returnvalue.Replace("亿万", "亿");
    return returnvalue;
       
 }


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值