C#中如何检查文本框的输入信息是否为数字?

请按以下要求:
要求编写文本框的Leave事件处理程序,若输入的不是数字,则提示输入有误,并要求重新输入。先用try语句尝试将文本框中输入的信息以int.Parse()方法转换成数值型,若转换失败,即输入的内容为非数值型,就在catch语句中做出提示,要求重新输入。
代码怎么写,求教。

楼上用正则判断,效率较低,其实C#自带的TryParse就ok的
int tmp;
if(!int.TryParse(textbox1.Text, out tmp)){
MessageBox.Show("请正确输入数字");
}追问

请按要求!

追答

汗,我这种做法是效率最高的做法,难道你那个是考试题?那你的老师简直是误人子弟啊,try语句是很耗性能的做法,按你的要求写一遍吧:
try{
int tmp = int.Parse(textbox1.Text);
}catch(Exception){
MessageBox.Show("请正确输入数字");
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-15
如果你是程序员你问这个你不配,如果你是做题目 请对下面回答你问题的兄弟客气点,说个谢谢。
try{
int tmp = int.Parse(textbox1.Text);
}catch(Exception){
MessageBox.Show("请正确输入数字");
}
这是对的。
第2个回答  2018-03-30

    if (System.Text.RegularExpressions.Regex.IsMatch(textBox1.Text.Trim(), "^\\d+$")
    //是数字

    12int num;bool b = int.TryParse(textBox1.Text,out num);//TryParse()是把字符串转换为int类型,转换成功则返回一个true。

int tmp;
if(!int.TryParse(textbox1.Text, out tmp)){
MessageBox.Show("请正确输入数字");

本回答被网友采纳
第3个回答  2012-11-01
if (System.Text.RegularExpressions.Regex.IsMatch(textBox1.Text.Trim(), "^\\d+$"))
{
//是数字
}追问

请按要求!

第4个回答  2019-05-07
当然用TryParse啊,人家专门提供了这个方法,高效实用,干嘛非得Try、Catch啊?
相似回答