1.使用 Char.IsNumber(),但是这个一般只能判断一个字符,用For 循环也可实现。
private bool isNumber(str)
{
foreach(string s in str)//此处的string是否换居char要妥当一点
{
if(!Char.IsNumber(s,0))
return false;
}
return true;
}
2.使用try{} catch{}
3.
using System.Text.RegularExpressions
在C#中大概会用到这几个类
RegEx , Match 和 MatchCollection
using System.Text.RegularExpressions;
Regex digitregex = new Regex(@"^[0-9]\d*[.]?\d*$");
if (!digitregex.IsMatch(TextBox1.Text))
{
TextBox1.Text="";
MessageBox.Show("只能输入数字!","提示");
}
^[0-9]\d*[.]?\d*$ 是可以匹配浮点数的
^[0-9]\d*$ 是只匹配整数
上面两个都没有检测位数,自己改*
private bool isNumber(str)
{
foreach(string s in str)//此处的string是否换居char要妥当一点
{
if(!Char.IsNumber(s,0))
return false;
}
return true;
}
2.使用try{} catch{}
3.
using System.Text.RegularExpressions
在C#中大概会用到这几个类
RegEx , Match 和 MatchCollection
using System.Text.RegularExpressions;
Regex digitregex = new Regex(@"^[0-9]\d*[.]?\d*$");
if (!digitregex.IsMatch(TextBox1.Text))
{
TextBox1.Text="";
MessageBox.Show("只能输入数字!","提示");
}
^[0-9]\d*[.]?\d*$ 是可以匹配浮点数的
^[0-9]\d*$ 是只匹配整数
上面两个都没有检测位数,自己改*