一个将阿拉伯数字转换成中文大写的好算法(C#)[转]

博客展示了一段C#代码,实现将12位以内整数数字字符串转换为中文大写的功能。代码定义了中文数字和单位数组,通过循环和字符串替换处理,最终返回带“圆整”的中文大写结果。

//加到类的定义部分
private static string[] cstr={"零","壹","贰","叁","肆", "伍", "陆","柒","捌","玖"};
private? static string[] wstr={"","","拾","佰","仟","萬","拾","佰","仟","億","拾","佰","仟"};
//数字必须在12位整数以内的字符串
//调用方式如:Label1.Text=ConvertInt("数字字符串");

public string ConvertInt(string str)
??{
??int len=str.Length;
???? int i;
??string tmpstr,rstr;
???rstr="";
???for(i=1;i<=len;i++)
???{
???tmpstr=str.Substring(len-i,1);
???rstr=string.Concat(cstr[Int32.Parse(tmpstr)]+wstr[i],rstr);
???}
???rstr=rstr.Replace("拾零","拾");
???rstr=rstr.Replace("零拾","零");
??????????? rstr=rstr.Replace("零佰","零");
??????????? rstr=rstr.Replace("零仟","零");
???rstr=rstr.Replace("零萬","萬");
???for(i=1;i<=6;i++)
???rstr=rstr.Replace("零零","零");
???rstr=rstr.Replace("零萬","零");
???rstr=rstr.Replace("零億","億");
???rstr=rstr.Replace("零零","零");
??????????????????????? rstr+="圆整";??
??????? return rstr;
??}

fanz2000的专栏

作者BLOG : http://blog.youkuaiyun.com/fanz2000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值