c#如何判断文本框中是否是数字
展开全部
是用正则表达式
public bool IsNum(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);
}
试过很多还是觉得这个好,全面且速度快,try+catch判断一个还行,上百个就傻了
public bool IsNum(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);
}
试过很多还是觉得这个好,全面且速度快,try+catch判断一个还行,上百个就傻了
展开全部
Regex x = new Regex("^[0-9]*$");
if (x.IsMatch(TextBox1.Text))
{
Response.Write("正确");
}
else
{
Response.Write("错误");
}
}
try 和 catch ..... 有点影响性能
if (x.IsMatch(TextBox1.Text))
{
Response.Write("正确");
}
else
{
Response.Write("错误");
}
}
try 和 catch ..... 有点影响性能
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
try
{
double a = Convert.ToDouble(textBox1.Text);
//是
}
catch
{
//不是
}
{
double a = Convert.ToDouble(textBox1.Text);
//是
}
catch
{
//不是
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正则表达式
或者在后台判断
if(int.tryparse(textbox1.text))
return ;
else
messagebox.show("请输入正确的数字");
或者在后台判断
if(int.tryparse(textbox1.text))
return ;
else
messagebox.show("请输入正确的数字");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用正则表达式
如果是后台的话也可以
double a=0;
bool isnum = double.TryParse(txt.Text,out a);
如果是后台的话也可以
double a=0;
bool isnum = double.TryParse(txt.Text,out a);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询