小写数字转换为中文大写的最完整C#方案

小写数字转换为中文大写的最完整C#方案

ID:39615912

大小:63.50 KB

页数:9页

时间:2019-07-07

小写数字转换为中文大写的最完整C#方案_第1页
小写数字转换为中文大写的最完整C#方案_第2页
小写数字转换为中文大写的最完整C#方案_第3页
小写数字转换为中文大写的最完整C#方案_第4页
小写数字转换为中文大写的最完整C#方案_第5页
资源描述:

《小写数字转换为中文大写的最完整C#方案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、usingSystem;usingSystem.Text;namespaceDigitToChnText{///本程序用于将小写数字转换为中文大写,提供以下功能://2.能识别并处理任何错误输入//3.算法稳定,速度较快,中文大写比较符合语言习惯///本程序用于将小写数字变成大写中文数字classDigitToChnText{privatereadonlychar[]chnText;privatereadonlychar[]chnDigit;publicDigitToChnText(){chnText=newchar[]{'零','一','二','三','四','五','六','七'

2、,'八','九'};chnDigit=newchar[]{'十','百','千','万','亿'};}publicstringConvert(stringstrDigit){//检查输入数字decimaldec;try{dec=decimal.Parse(strDigit);}catch(FormatException){thrownewException("输入数字的格式不正确。");}catch(Exceptione){throwe;}if(dec<=-10000000000000000m

3、

4、dec>=10000000000000000m){thrownewException("

5、输入数字太大或太小,超出范围。");}StringBuilderstrResult=newStringBuilder();//提取符号部分//'+'在最前if("+"==strDigit.Substring(0,1)){strDigit=strDigit.Substring(1);}//'-'在最前elseif("-"==strDigit.Substring(0,1)){strResult.Append('负');strDigit=strDigit.Substring(1);}//'+'在最后elseif("+"==strDigit.Substring(strDigit.Length

6、-1,1)){strDigit=strDigit.Substring(0,strDigit.Length-1);}//'-'在最后elseif("-"==strDigit.Substring(strDigit.Length-1,1)){strResult.Append('负');strDigit=strDigit.Substring(0,strDigit.Length-1);}//提取整数和小数部分intindexOfPoint;if(-1==(indexOfPoint=strDigit.IndexOf('.')))//如果没有小数部分{strResult.Append(Conver

7、tIntegral(strDigit));}else//有小数部分{//先转换整数部分if(0==indexOfPoint)//如果“.”是第一个字符{strResult.Append('零');}else{strResult.Append(ConvertIntegral(strDigit.Substring(0,indexOfPoint)));}//再转换小数部分if(strDigit.Length-1!=indexOfPoint)//如果“.”不是最后一个字符{strResult.Append('点');strResult.Append(ConvertFractional(str

8、Digit.Substring(indexOfPoint+1)));}}returnstrResult.ToString();}//转换整数部分protectedstringConvertIntegral(stringstrIntegral){//去掉数字前面所有的'0'//并把数字分割到字符数组中char[]integral=((long.Parse(strIntegral)).ToString()).ToCharArray();//变成中文数字并添加中文数位StringBuilderstrInt=newStringBuilder();inti;intdigit;digit=int

9、egral.Length-1;//处理最高位到十位的所有数字for(i=0;i

10、

11、12==digit){strInt.Append(chnDigit[3]);//'万'}elseif(8==digit){strInt.Append(chnDigit[4]);//

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。