首页 新闻 会员 周边 捐助

验证textBox值不能大于Int

0
悬赏园豆:10 [已解决问题] 解决于 2014-08-27 20:12

限制textBox输入值不能大于int,然后Convert.ToInt32转换,

如果使用

if(Convert.toInt32(txtId.Text)>2147483647)

{

  Alert.Show("Error!")

}

这就已经用了Convert.ToInt32,已经转化失败了,在线求救高手,急!

PS:只使用textBox,不适用FineUI的NumberBox,因为某些原因,NumberBox不适用我的项目

这里只是限制不能大于Int,别用Convert.ToInt64(txtId.Text),因为txtId.Text是用户输入的值,所以可以输入无限个位数,我们要做的就是最多只能到Int最大值

麦田清风的主页 麦田清风 | 初学一级 | 园豆:7
提问于:2014-08-27 19:58
< >
分享
最佳答案
0

如果TextBox.Text的内容根本不能转换为数值,自然会失败。

你可以这样:

long value;

if(!long.TryParse(txtId.Text, out value))

{

    Alert.Show("请输入有效的数值。");

}

if(value > int.MaxValue)

{

    Alert.Show("Error!");

}

这里,之所以用long类型,是因为你的数值输入可能是超出了int可表示的最大值(2147483647)。

收获园豆:10
519740105 | 大侠五级 |园豆:5810 | 2014-08-27 20:06

谢谢!你回答的时候,我的同事刚好路过已经帮我解决了,不过还是采纳最快的哈(我是实习生,哈)

麦田清风 | 园豆:7 (初学一级) | 2014-08-27 20:12
其他回答(1)
0
try
{
        if(Convert.toInt32(txtId.Text)>2147483647)
        {  
             Alert.Show("Error!");
        }
}
catch(Exception e)
{
       //异常处理
       Alert.Show("输入有误,请重新输入");
}
会飞的金鱼 | 园豆:881 (小虾三级) | 2014-08-27 20:12

你和我一个级别的。。。

支持(0) 反对(0) 麦田清风 | 园豆:7 (初学一级) | 2014-08-27 20:13

楼上的答案是解决方案,你的只是抛异常。。咱一起学习吧

支持(0) 反对(0) 麦田清风 | 园豆:7 (初学一级) | 2014-08-27 20:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册