不是整数就能自动报错,这个方法该怎么弄啊。新手求解。

解决方案 »

  1.   

    刻意使用 int.TryPase 函数。
      

  2.   

    虽然比较难用,可以使用 tryParse
      

  3.   

    1、从源头上杜绝这种错误,做正则限制,让非数字输入不进去
    2、Int.TryParse,返回false就是报错咯
      

  4.   

    int result=0;
    int.TryParse(num,ref result);
      

  5.   

    用正则表达式,例如:
    private void textBox1_Leave(object sender, EventArgs e)
    {
        if (!Regex.IsMatch(textBox1.Text.ToString(), @"^-?[1-9]\d*$|^0$"))
        {
            MessageBox.Show("请输入数字");
            textBox1.SelectAll();        return;
        }
    }只能输入负整数,0,正整数,否则要提示输入数字
      

  6.   

    要是web的,有个验证控件,拖进去一个,直接设置属性就行,更方便
      

  7.   

    可以为输入的文本框添加一个KeyPress事件,只允许用户输入数字和退格,那肯定是整数了哇 private void TextBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (e.KeyChar != '\b' && !Char.IsDigit(e.KeyChar))
                {
                    e.Handled = true;
                }
                else
                {
                    MessageBox.Show("请输入整数","类型错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
                }
            }
      

  8.   

    听楼主的意思是想要 用户输入完后,若不是数字则提示用户错误。
    1.限制用户只能输入数字
    或者2.不限制内容,放一个label在此textbox后面,先隐藏这个label,当textbox失去焦点时,
    判断int.TryParse(num,ref result);是否为数字,若不是,则修改label的text为“只能输入数字”,并且显示出来。
    或者3.网上查询ajax实时验证用户名。
      

  9.   

    1、输入时正则控制。
    2、 int.TryParse()
            public static bool IsNumber(object sNum)
            {
                long num;   //临时变量
                if (sNum == null)
                {
                    return false;   //如果传入的值为NULL,返回False
                }
                if (long.TryParse(sNum.ToString(), out num))    //尝试转换传入的值
                    return true;    //成功返回True
                else
                    return false;   //失败返回False
            }
      

  10.   

    假设输入的整数为  num
    if(num.GetTypeCode() == TypeCode.Int32)
    {
        //如果num为整数执行
    }
    else
    {
        //否则num不为整数
    }
    上面是判断的整数先返回类型,再和指定的类型做判断!
      

  11.   

    你直接设置textbox 只能输入数字不就可以了 
      

  12.   

                private bool IsNumeric(string str)
            {
                if (str == null || str.Length == 0)
                {
                    return false;
                }
                var reg = new Regex(@"^\+?[1-9]0-9]*$"); //正整数
                var result = reg.IsMatch(str);
                return result;        }
      

  13.   


           bool isScs= int.TryParse("S", out int result);
                bool isScs = int.TryParse("111", out int result);推荐这个方法。
      

  14.   

    使用TryParse方法啊