c#如何判断文本框中是否是数字

 我来答
wdby
2009-09-19 · TA获得超过1792个赞
知道小有建树答主
回答量:590
采纳率:0%
帮助的人:664万
展开全部
是用正则表达式
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判断一个还行,上百个就傻了
snkfdy003
2009-09-18 · TA获得超过180个赞
知道答主
回答量:177
采纳率:0%
帮助的人:94.4万
展开全部
Regex x = new Regex("^[0-9]*$");
if (x.IsMatch(TextBox1.Text))
{
Response.Write("正确");
}
else
{
Response.Write("错误");
}
}

try 和 catch ..... 有点影响性能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
最后的仙人
2009-09-18 · TA获得超过1961个赞
知道大有可为答主
回答量:1509
采纳率:0%
帮助的人:1398万
展开全部
try
{
double a = Convert.ToDouble(textBox1.Text);
//是
}
catch
{
//不是
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bxfc
2009-09-18 · TA获得超过872个赞
知道小有建树答主
回答量:1104
采纳率:0%
帮助的人:684万
展开全部
正则表达式

或者在后台判断
if(int.tryparse(textbox1.text))
return ;
else
messagebox.show("请输入正确的数字");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ed32a50
2009-09-18 · 超过12用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:22.4万
展开全部
用正则表达式

如果是后台的话也可以
double a=0;
bool isnum = double.TryParse(txt.Text,out a);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式