【转】C#判断一个字符串是否是数字
2010-01-11 08:06
549 查看
//判断一个string是否可以为数字 //方案一:Try...Catch(执行效率不高) /// /// 名称:IsNumberic /// 功能:判断输入的是否是数字 /// 参数:string oText:源文本 /// 返回值: bool true:是 false:否 /// /// /// private bool IsNumberic(string oText) { try { int var1 = Convert.ToInt32(oText); return true; } catch { return false; } } //方案二:正则表达式(推荐) //a) //using System; //using System.Text.RegularExpressions; public bool IsNumber(String strNumber) { Regex objNotNumberPattern = new Regex("[^0-9.-]"); Regex objTwoDotPattern = new Regex("[0-9]*[.][0-9]*[.][0-9]*"); Regex objTwoMinusPattern = new Regex("[0-9]*[-][0-9]*[-][0-9]*"); String strValidRealPattern = "^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$"; String strValidIntegerPattern = "^([-]|[0-9])[0-9]*$"; Regex objNumberPattern = new Regex("(" + strValidRealPattern + ")|(" + strValidIntegerPattern + ")"); return !objNotNumberPattern.IsMatch(strNumber) && !objTwoDotPattern.IsMatch(strNumber) && !objTwoMinusPattern.IsMatch(strNumber) && objNumberPattern.IsMatch(strNumber); } //b) public static bool IsNumeric(string value) { return Regex.IsMatch(value, @"^[+-]?/d*[.]?/d*$"); } public static bool IsInt(string value) { return Regex.IsMatch(value, @"^[+-]?/d*$"); } public static bool IsUnsign(string value) { return Regex.IsMatch(value, @"^/d*[.]?/d*$"); } //方案三:遍历 //a) public bool isnumeric(string str) { char[] ch = new char[str.Length]; ch = str.ToCharArray(); for (int i = 0; i < ch.Length; i++) { if (ch[i] < 48 || ch[i] > 57) return false; } return true; } //b) public bool IsInteger(string strIn) { bool bolResult = true; if (strIn == "") { bolResult = false; } else { foreach (char Char in strIn) { if (char.IsNumber(Char)) continue; else { bolResult = false; break; } } } return bolResult; } //c) public static bool isNumeric(string inString) { inString = inString.Trim(); bool haveNumber = false; bool haveDot = false; for (int i = 0; i < inString.Length; i++) { if (Char.IsNumber(inString[i])) { haveNumber = true; } else if (inString[i] == '.') { if (haveDot) { return false; } else { haveDot = true; } } else if (i == 0) { if (inString[i] != '+' && inString[i] != '-') { return false; } } else { return false; } if (i > 20) { return false; } } return haveNumber; }
来自:http://www.cnblogs.com/benben7466/archive/2009/11/06/1597243.html
相关文章推荐
- C#判断一个字符串是否是数字或者含有某个数字的方法
- C#中,判断一个字符串是否为数字
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)--来源CSDN
- (转)判断一个字符串是否全是数字的多种方法及其性能比较(C#实现
- C# 判断一个字符串是否都是数字
- C# 判断一个字符串是否数字开头
- 在进行C#编程时候,有的时候我们需要判断一个字符串是否是数字字符串,我们可以通过以下两种方法来实现。 【方法一】:使用 try{} catch{} 语句。 我们可以在try语句块中试图
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)
- c#你怎么判断一个字符串是否是数字?(转)
- C# 判断一个字符串是否数字开头
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)
- C#判断一个字符串是否是数字或者含有某个数字
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)
- c#你怎么判断一个字符串是否是数字?
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)
- C#中,怎么判断一个字符串包含是否不包含另一个字符串
- 判断一个字符串是否是数字
- java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”