将小写金额转换为大写金额

将小写金额转换为大写金额

第一中方法 使用正则

public string DaXie(string money)
	    {
	        string s = double.Parse(money).ToString("#L#E#D#C#K#E#D#C#J#E#D#C#I#E#D#C#H#E#D#C#G#E#D#C#F#E#D#C#.0B0A");
	        string d = Regex.Replace(s, @"((?<=-|^)[^1-9]*)|((?'z'0)[0A-E]*((?=[1-9])|(?'-z'(?=[F-L\.]|$))))|((?'b'[F-L])(?'z'0)[0A-L]*((?=[1-9])|(?'-z'(?=[\.]|$))))", "${b}${z}");
	        return Regex.Replace(d, ".", delegate (Match m) { return "负圆空零壹贰叁肆伍陆柒捌玖空空空空空空空分角拾佰仟万億兆京垓秭穰"[m.Value[0] - '-'].ToString(); });
	    }

第二种方法 使用数组

public string DaXie(string money)
	    {
	        //将小写金额转换成大写金额
	        double MyNumber = Convert.ToDouble(money);
	        String[] MyScale = { "分", "角", "元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "兆", "拾", "佰", "仟" };
	        String[] MyBase = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
	        String M = "";
	        bool isPoint = false;
	        if (money.IndexOf(".") != -1)
	        {
	            money = money.Remove(money.IndexOf("."), 1);
	            isPoint = true;
	        }
	        for (int i = money.Length; i > 0; i--)
	        {
	            int MyData = Convert.ToInt16(money[money.Length - i].ToString());//?
	            M += MyBase[MyData];//?
	            if (isPoint == true)
	            {
	                M += MyScale[i - 1];//?
	            }
	            else
	            {
	                M += MyScale[i + 1];//?
	            }
	        }
	        return M;
	    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值