C#中,判断一个TextBox里的字符串是否为数字怎么写??

判断是否为正整数怎么写?负数,小数,空格,英文都提示!
if(这里怎么写?){
}else{
MessageBox.Show("必须是正整数");
}

try
{
if(int.Parse(TextBox1.text)>0){
}else{
MessageBox.Show("必须是正整数");
}
}
catch(FormatException)
{
MessageBox.Show("必须是正整数");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-08-03
建议采用正则表达式,虽然复杂了一点,但是用熟悉以后很方便.下面例子不是你要求的答案,只是例子,用于检测身份证前面17位是否为数字,最后一位是否为数字或"X".
public bool test(string str)
{
System.Text.RegularExpressions.Regex rg = new System.Text.RegularExpressions.Regex(@"^\d{17}(\d|X)$");
System.Text.RegularExpressions.Match match = rg.Match(str);
return match;
}
第2个回答  2007-08-02
用正则进行验证。
需要引用
using System.Text.RegularExpressions;
事件里这么写。
bool yz=Regex.IsMatch(TextBox1, @"^[0-9]*[1-9][0-9]*$");
if(!yz)
{
MessageBox.Show("必须是正整数");

}
第3个回答  2007-08-02
这样写最简单
foreach(char c in this.textBox1.text)
{
if(char.isNumber(c))
{
MessageBox.Show("输出的是字符型");
}
else
{
MessageBox.Show("输出的是数字");
}
}
第4个回答  2007-08-02
用正则表达式
Regex.Match (String)
第5个回答  2007-08-02
if(int.TryParse(text,out value) && value>=0)
{
...
}
相似回答