c#中怎么判断选择中输入的是不是整数啊

qq_24974423 2015-12-24 12:01:34
不是整数就能自动报错,这个方法该怎么弄啊。。。。新手求解。
...全文
4646 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
货郎大叔 2019-07-26
  • 打赏
  • 举报
回复
使用TryParse方法啊
在路上_2019 2019-07-26
  • 打赏
  • 举报
回复
判断,可用if语句,可以试试
9527-早 2019-07-25
  • 打赏
  • 举报
回复
用正则表达式判定
XBodhi. 2019-07-18
  • 打赏
  • 举报
回复

bool isScs= int.TryParse("S", out int result);
bool isScs = int.TryParse("111", out int result);

推荐这个方法。

fantiandadi007 2019-07-17
  • 打赏
  • 举报
回复
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;

}
kofboy520 2019-07-17
  • 打赏
  • 举报
回复
试试用取模??
  • 打赏
  • 举报
回复
你直接设置textbox 只能输入数字不就可以了。。。。。。
Bao_Bao_369 2019-07-17
  • 打赏
  • 举报
回复
假设输入的整数为 num
if(num.GetTypeCode() == TypeCode.Int32)
{
//如果num为整数执行
}
else
{
//否则num不为整数
}
上面是判断的整数

先返回类型,再和指定的类型做判断!
wang877658308 2015-12-28
  • 打赏
  • 举报
回复
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 }
zhangxiaomin19921 2015-12-28
  • 打赏
  • 举报
回复
听楼主的意思是想要 用户输入完后,若不是数字则提示用户错误。 1.限制用户只能输入数字 或者2.不限制内容,放一个label在此textbox后面,先隐藏这个label,当textbox失去焦点时, 判断int.TryParse(num,ref result);是否为数字,若不是,则修改label的text为“只能输入数字”,并且显示出来。 或者3.网上查询ajax实时验证用户名。
ealing 2015-12-28
  • 打赏
  • 举报
回复
引用 7 楼 defrt4 的回复:
可以为输入的文本框添加一个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);
            }
        }
我也是这样判断的
秋的红果实 2015-12-25
  • 打赏
  • 举报
回复
要是web的,有个验证控件,拖进去一个,直接设置属性就行,更方便
秋的红果实 2015-12-25
  • 打赏
  • 举报
回复
用正则表达式,例如:
private void textBox1_Leave(object sender, EventArgs e)
{
    if (!Regex.IsMatch(textBox1.Text.ToString(), @"^-?[1-9]\d*$|^0$"))
    {
        MessageBox.Show("请输入数字");
        textBox1.SelectAll();

        return;
    }
}
只能输入负整数,0,正整数,否则要提示输入数字
hlwan88888 2015-12-25
  • 打赏
  • 举报
回复
进来看看学习了
defrt4 2015-12-25
  • 打赏
  • 举报
回复
可以为输入的文本框添加一个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);
            }
        }
  • 打赏
  • 举报
回复
刻意使用 int.TryPase 函数。
正怒月神 2015-12-24
  • 打赏
  • 举报
回复
int result=0; int.TryParse(num,ref result);
江南小鱼 2015-12-24
  • 打赏
  • 举报
回复
1、从源头上杜绝这种错误,做正则限制,让非数字输入不进去 2、Int.TryParse,返回false就是报错咯
angel6709 2015-12-24
  • 打赏
  • 举报
回复
虽然比较难用,可以使用 tryParse

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧