浅析C#函数ConvertSum

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

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

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

C#函数ConvertSum代码如下:

publicstringConvertSum(stringstr)  
{  
if(!IsPositveDecimal(str))  
return"输入的不是正数字!";  
if(Double.Parse(str)>999999999999.99)  
return"数字太大,无法换算,请输入一万亿元以下的金额";  
char[]ch=newchar[1];  
ch[0]='.';//小数点  
string[]splitstr=null;//定义按小数点分割后的字符串数组  
splitstr=str.Split(ch[0]);//按小数点分割字符串  
if(splitstr.Length==1)//只有整数部分  
returnConvertData(str)+"圆整";  
else//有小数部分  
{  
stringrstr;  
rstr=ConvertData(splitstr[0])+"圆";//转换整数部分  
rstr+=ConvertXiaoShu(splitstr[1]);//转换小数部分  
returnrstr;  
}  
}  
 
///  
///判断是否是正数字字符串  
///  
///判断字符串  
///如果是数字,返回true,否则返回false  
publicboolIsPositveDecimal(stringstr)  
{  
Decimald;  
try  
{  
d=Decimal.Parse(str);  
}  
catch(Exception)  
{  
returnfalse;  
}  
if(d>0)  
returntrue;  
else  
returnfalse;  
}  
 
///  
///转换数字(整数)  
///  
///需要转换的整数数字字符串  
///转换成中文大写后的字符串  
publicstringConvertData(stringstr)  
{  
stringtmpstr="";  
stringrstr="";  
intstrlen=str.Length;  
if(strlen<=4)//数字长度小于四位  
{  
rstr=ConvertDigit(str);  
 
}  
else  
{  
if(strlen<=8)//数字长度大于四位,小于八位  
{  
tmpstr=str.Substring(strlen-4,4);//先截取***四位数字  
rstr=ConvertDigit(tmpstr);//转换***四位数字  
tmpstr=str.Substring(0,strlen-4);//截取其余数字  
//将两次转换的数字加上万后相连接  
rstr=String.Concat(ConvertDigit(tmpstr)+"万",rstr);  
rstrrstr=rstr.Replace("零零","零");  
}  
else  
if(strlen<=12)//数字长度大于八位,小于十二位  
{  
tmpstr=str.Substring(strlen-4,4);//先截取***四位数字  
rstr=ConvertDigit(tmpstr);//转换***四位数字  
tmpstr=str.Substring(strlen-8,4);//再截取四位数字  
rstr=String.Concat(ConvertDigit(tmpstr)+"万",rstr);  
tmpstr=str.Substring(0,strlen-8);  
rstr=String.Concat(ConvertDigit(tmpstr)+"亿",rstr);  
rstrrstr=rstr.Replace("零亿","亿");  
rstrrstr=rstr.Replace("零万","零");  
rstrrstr=rstr.Replace("零零","零");  
rstrrstr=rstr.Replace("零零","零");  
}  
}  
strlen=rstr.Length;  
if(strlen>=2)  
{  
switch(rstr.Substring(strlen-2,2))  
{  
case"佰零":rstr=rstr.Substring(0,strlen-2)+"佰";break;  
case"仟零":rstr=rstr.Substring(0,strlen-2)+"仟";break;  
case"万零":rstr=rstr.Substring(0,strlen-2)+"万";break;  
case"亿零":rstr=rstr.Substring(0,strlen-2)+"亿";break;  
}  
}  
returnrstr;  

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.

以上介绍C#函数ConvertSum。

【编辑推荐】

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

2009-07-31 14:03:21

C# Format函数

2009-07-31 16:00:30

C#函数重载

2009-07-31 15:44:02

C#静态构造函数

2009-08-14 09:15:28

C#调用构造函数

2009-07-31 15:22:56

C#判等函数

2009-09-18 09:02:45

CLR Via C#

2009-08-13 18:02:11

C#静态构造函数

2009-08-13 17:38:42

C#构造函数

2009-08-13 18:15:06

C#继承构造函数

2009-08-14 09:58:09

C#复制构造函数

2009-08-13 13:42:54

C#构造函数

2009-08-13 17:30:30

C#构造函数

2009-08-14 09:43:59

C#复制构造函数

2009-08-07 17:25:37

C# SortedLi

2009-07-31 16:25:29

C#回调函数API应用

2009-08-17 18:34:50

C# ChangeCo

2009-08-14 17:45:52

C# ArrayLis

2009-08-13 18:36:36

C#继承构造函数

2009-08-25 17:59:49

C#入门

2009-08-26 13:07:07

C#交错数组
点赞
收藏

51CTO技术栈公众号