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

 我来答
乌芹0o
2016-12-10 · TA获得超过398个赞
知道小有建树答主
回答量:492
采纳率:66%
帮助的人:275万
展开全部

2种方式常见的方法

第一种 JS 用正则来判断比如

<script type="text/javascript">  
     function validate(){  
       var reg = new RegExp("^[0-9]*$"); //定义正则,表示只是数字
       var obj = document.getElementById("name"); //获取当前输入的值
         
     if(!reg.test(obj.value)){  
        alert("请输入数字!");  
    }  
     
  }  
 
</script>

第二种是在后台来判断 比如

 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
        }

还有方法。 比如你可以为输入的文本框添加一个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);
            }
        }
wukongabc_123
2016-11-23 · TA获得超过922个赞
知道小有建树答主
回答量:194
采纳率:100%
帮助的人:73.3万
展开全部

算法原理如下:

  1. 输入的一般都是字符串,因此,问题转换为:判断一个字符串里面的字符构成的结果是否为整数。

  2. 整数和其他数字的差别是:整数里面只含有数字字符,同时,第一个字符可以为“-”,来表示一个负数。

    于是可以写算法:



    判断一个字符串->

    第一位如果不是“-”或者数字字符,就不是整数 return false

    剩下的字符,如果不是数字字符,那么这个字符串表示的 就是不是整数 return false

    在这两个判断之后,其他的结果就整数了 return true

用C#里面的方法的话,可以使用 以下方法:

Boolean Int.TryParse(string)

如果能够转成Int,则返回true,说明是整数,反之不然。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
空心莲
推荐于2018-02-28 · TA获得超过696个赞
知道小有建树答主
回答量:642
采纳率:66%
帮助的人:183万
展开全部
var str=textbox1.Text.Trim();
int number;
if(int.TryParse(str , out number))
{
MessageBox.Show("输入为整数!");
}
else
{
MessageBox.Show("输入有误!");
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仰望yu期待
2016-12-02
知道答主
回答量:45
采纳率:0%
帮助的人:7.9万
展开全部
private void textBox1_Leave(object sender, EventArgs e)
{
if (!Regex.IsMatch(textBox1.Text.ToString(), @"^-?[1-9]\d*$|^0$"))
{
MessageBox.Show("请输入数字");
textBox1.SelectAll();

return;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zpx199453
2018-08-02 · TA获得超过128个赞
知道答主
回答量:84
采纳率:100%
帮助的人:21.6万
展开全部

除1取余看余数是否为0

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式