欢迎来到天天文库
浏览记录
ID:15392700
大小:47.00 KB
页数:20页
时间:2018-08-03
《c#判断是否为数字》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C#判断是否为数字C#判断一个string是否可以为数字,五种解决方案判断一个string是否可以为数字方案一:Try...Catch(执行效率不高)//////名称:IsNumberic///功能:判断输入的是否是数字///参数:stringoText:源文本///返回值: booltrue:是 false:否/////////privateboolIsNumberic(stringoText){try{intvar1=Convert.ToInt32(oText);returntrue;}catch{returnfalse;}}
2、方案二:正则表达式(推荐)a)usingSystem;usingSystem.Text.RegularExpressions;publicboolIsNumber(StringstrNumber){RegexobjNotNumberPattern=newRegex("[^0-9.-]");RegexobjTwoDotPattern=newRegex("[0-9]*[.][0-9]*[.][0-9]*");RegexobjTwoMinusPattern=newRegex("[0-9]*[-][0-9]*[-][0-9]*");Str
3、ingstrValidRealPattern="^([-]
4、[.]
5、[-.]
6、[0-9])[0-9]*[.]*[0-9]+$";StringstrValidIntegerPattern="^([-]
7、[0-9])[0-9]*$";RegexobjNumberPattern=newRegex("("+strValidRealPattern+")
8、("+strValidIntegerPattern+")");return!objNotNumberPattern.IsMatch(strNumber)&&!objTwoDotPattern
9、.IsMatch(strNumber)&&!objTwoMinusPattern.IsMatch(strNumber)&&objNumberPattern.IsMatch(strNumber);}b)publicstaticboolIsNumeric(stringvalue){returnRegex.IsMatch(value,@"^[+-]?d*[.]?d*$");}publicstaticboolIsInt(stringvalue){returnRegex.IsMatch(value,@"^[+-]?d*$");}pub
10、licstaticboolIsUnsign(stringvalue){returnRegex.IsMatch(value,@"^d*[.]?d*$");}方案三:遍历a)publicboolisnumeric(stringstr){char[]ch=newchar[str.Length];ch=str.ToCharArray();for(inti=0;i{if(ch[i]<48
11、
12、ch[i]>57)returnfalse;}returntrue;}b)publicboolIsInteger(stringstrIn){boolb
13、olResult=true;if(strIn==""){bolResult=false;}else{foreach(charCharinstrIn){if(char.IsNumber(Char))continue;else{bolResult=false;break;}}}returnbolResult;}c)publicstaticboolisNumeric(stringinString){inString=inString.Trim();boolhaveNumber=false;boolhaveDot=false;for(in
14、ti=0;i{if(Char.IsNumber(inString[i])){haveNumber=true;}elseif(inString[i]=='.'){if(haveDot){returnfalse;}else{haveDot=true;}}elseif(i==0){if(inString[i]!='+'&&inString[i]!='-'){returnfalse;}}else{returnfalse;}if(i>20){returnfalse;}}returnhaveNumber;}}方案四:改写vb的IsNumeri
15、c源代码(执行效率不高)//主调函数publicstaticboolIsNumeric(objectExpression){boolflag1;IConvertibleconvertible1=null;if(ExpressionisIConver
此文档下载收益归作者所有