浅析C#函数ConvertSum

开发 后端
本文介绍代码的主调C#函数ConvertSum,它的参数是string类型的数字字符串。以及介绍在ASP.NET中调用方式。

代码的主调C#函数ConvertSum,它的参数是string类型的数字字符串。在ASP.NET中调用方式如下:

Label1.Text=ConvertSum("数字字符串");

C#函数ConvertSum代码如下:

  1. publicstringConvertSum(stringstr)  
  2. {  
  3. if(!IsPositveDecimal(str))  
  4. return"输入的不是正数字!";  
  5. if(Double.Parse(str)>999999999999.99)  
  6. return"数字太大,无法换算,请输入一万亿元以下的金额";  
  7. char[]ch=newchar[1];  
  8. ch[0]='.';//小数点  
  9. string[]splitstr=null;//定义按小数点分割后的字符串数组  
  10. splitstr=str.Split(ch[0]);//按小数点分割字符串  
  11. if(splitstr.Length==1)//只有整数部分  
  12. returnConvertData(str)+"圆整";  
  13. else//有小数部分  
  14. {  
  15. stringrstr;  
  16. rstr=ConvertData(splitstr[0])+"圆";//转换整数部分  
  17. rstr+=ConvertXiaoShu(splitstr[1]);//转换小数部分  
  18. returnrstr;  
  19. }  
  20. }  
  21.  
  22. ///  
  23. ///判断是否是正数字字符串  
  24. ///  
  25. ///判断字符串  
  26. ///如果是数字,返回true,否则返回false  
  27. publicboolIsPositveDecimal(stringstr)  
  28. {  
  29. Decimald;  
  30. try  
  31. {  
  32. d=Decimal.Parse(str);  
  33. }  
  34. catch(Exception)  
  35. {  
  36. returnfalse;  
  37. }  
  38. if(d>0)  
  39. returntrue;  
  40. else  
  41. returnfalse;  
  42. }  
  43.  
  44. ///  
  45. ///转换数字(整数)  
  46. ///  
  47. ///需要转换的整数数字字符串  
  48. ///转换成中文大写后的字符串  
  49. publicstringConvertData(stringstr)  
  50. {  
  51. stringtmpstr="";  
  52. stringrstr="";  
  53. intstrlen=str.Length;  
  54. if(strlen<=4)//数字长度小于四位  
  55. {  
  56. rstr=ConvertDigit(str);  
  57.  
  58. }  
  59. else  
  60. {  
  61. if(strlen<=8)//数字长度大于四位,小于八位  
  62. {  
  63. tmpstr=str.Substring(strlen-4,4);//先截取***四位数字  
  64. rstr=ConvertDigit(tmpstr);//转换***四位数字  
  65. tmpstr=str.Substring(0,strlen-4);//截取其余数字  
  66. //将两次转换的数字加上万后相连接  
  67. rstr=String.Concat(ConvertDigit(tmpstr)+"万",rstr);  
  68. rstrrstr=rstr.Replace("零零","零");  
  69. }  
  70. else  
  71. if(strlen<=12)//数字长度大于八位,小于十二位  
  72. {  
  73. tmpstr=str.Substring(strlen-4,4);//先截取***四位数字  
  74. rstr=ConvertDigit(tmpstr);//转换***四位数字  
  75. tmpstr=str.Substring(strlen-8,4);//再截取四位数字  
  76. rstr=String.Concat(ConvertDigit(tmpstr)+"万",rstr);  
  77. tmpstr=str.Substring(0,strlen-8);  
  78. rstr=String.Concat(ConvertDigit(tmpstr)+"亿",rstr);  
  79. rstrrstr=rstr.Replace("零亿","亿");  
  80. rstrrstr=rstr.Replace("零万","零");  
  81. rstrrstr=rstr.Replace("零零","零");  
  82. rstrrstr=rstr.Replace("零零","零");  
  83. }  
  84. }  
  85. strlen=rstr.Length;  
  86. if(strlen>=2)  
  87. {  
  88. switch(rstr.Substring(strlen-2,2))  
  89. {  
  90. case"佰零":rstr=rstr.Substring(0,strlen-2)+"佰";break;  
  91. case"仟零":rstr=rstr.Substring(0,strlen-2)+"仟";break;  
  92. case"万零":rstr=rstr.Substring(0,strlen-2)+"万";break;  
  93. case"亿零":rstr=rstr.Substring(0,strlen-2)+"亿";break;  
  94. }  
  95. }  
  96. returnrstr;  

以上介绍C#函数ConvertSum。

【编辑推荐】

  1. 简单介绍C#预处理
  2. 学习C#无词尾符号经验谈
  3. C#调用QuickTest自动化
  4. 详解C#正规表达式
  5. C#字符串插入html标签
责任编辑:佚名 来源: IT168
相关推荐

2009-07-31 16:00:30

C#函数重载

2009-07-31 14:03:21

C# Format函数

2009-07-31 15:22:56

C#判等函数

2009-08-14 09:15:28

C#调用构造函数

2009-07-31 15:44:02

C#静态构造函数

2009-08-13 17:38:42

C#构造函数

2009-08-13 18:15:06

C#继承构造函数

2009-09-18 09:02:45

CLR Via C#

2009-08-13 18:02:11

C#静态构造函数

2009-08-14 09:43:59

C#复制构造函数

2009-08-14 09:58:09

C#复制构造函数

2009-08-13 13:42:54

C#构造函数

2009-08-13 17:30:30

C#构造函数

2009-08-17 18:34:50

C# ChangeCo

2009-08-14 17:45:52

C# ArrayLis

2009-08-07 17:25:37

C# SortedLi

2009-08-13 18:36:36

C#继承构造函数

2009-08-25 17:59:49

C#入门

2009-07-31 16:25:29

C#回调函数API应用

2009-08-12 17:03:39

C# Static修饰
点赞
收藏

51CTO技术栈公众号