给你一个函数
public bool IsNumeric(string s)
{
double resNum; bool isNum = Double.TryParse(s, NumberStyles.Float, NumberFormatInfo.InvariantInfo, out resNum ); return isNum;
}
public bool IsNumeric(string s)
{
double resNum; bool isNum = Double.TryParse(s, NumberStyles.Float, NumberFormatInfo.InvariantInfo, out resNum ); return isNum;
}
比如字符串"aaa"不是数值返回false,"1234"是数值返回true
你用的时候之间调用这个就行了
using System.Text.RegularExpressions; Regex digitregex = new Regex(@"^[0-9]\d*[.]?\d*$");
if (!digitregex.IsMatch(string)
{
MessageBox.Show("只能输入数字!","提示");
}
else
{
.......
}2、使用char.IsNumber()函数,具体使用可以参考MSDN
{ bool flag1;
IConvertible convertible1;
TypeCode code1;
double num1;
long num2;
string text1;
convertible1 = null;
if ((Expression as IConvertible) != null)
{
convertible1 = ((IConvertible) Expression);
}
if (convertible1 == null)
{
if ((Expression as char[]) != null)
{
Expression = new string(((char[]) Expression));
}
else
{ return false;
}
}
code1 = convertible1.GetTypeCode();
if ((code1 == 18) || (code1 == 4))
{
text1 = convertible1.ToString(null);
try
{
if (StringType.IsHexOrOctValue(text1, &(num2)))
{
flag1 = true;
return flag1;
}
}
catch (Exception)
{
flag1 = false;
return flag1;
}
return DoubleType.TryParse(text1, &(num1));
}
return Utils.IsNumericTypeCode(code1);
}
Regex digitregex = new Regex(@"^[0-9]\d*[.]?\d*$");
if (!digitregex.IsMatch(string)
MessageBox.Show("只能输入数字!","提示");
else
.......
感觉还是这段程序最好用一点,我想知道
Regex digitregex = new Regex(@"^[0-9]\d*[.]?\d*$");这句话中的字符串部分是什么意思,可以解释一下吗?
private void textBox1_TextChanged(object sender, System.EventArgs e)
{
double ldb_Num;
if (Double.TryParse(textBox1.Text, NumberStyles.Float, NumberFormatInfo.InvariantInfo, out ldb_Num ) == false)
{
MessageBox.Show("请输入数值型数据,如果1,33,4.16等。");
textBox1.SelectionStart = 0;
textBox1.SelectionLength = textBox1.TextLength;
}
}
这个程序没问题,相信你可以从中得到你所想要的东西。
ms-help://MS.MSDNQTR.2003FEB.2052/jscript7/html/jsjsgrpregexpsyntax.htm