如何检查字符类型,使其能在0到100之间

fish_birds 2008-09-07 10:06:20
我有TextBox输入,但我想输入的字符限制在0到100之间,否则让其报错,我现在是想把他转化为float型,然后判断是否在0到100之间,但当我输入的是字符类型时程序就出错了,请问如何解决?
...全文
147 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
denuvead 2008-09-07
  • 打赏
  • 举报
回复
float result = 0;
if(float .TryParse(textBox1.Text,out result))
{
if(result>=0&&result <=100)
MessageBox.Show("right");
else
MessageBox.Show("wrong");
}
else
MessageBox.Show("wrong");

前面打错 =。=
denuvead 2008-09-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wuyi8808 的回复:]
是输入的要求是1-3数字,且值在0-100之间,还是输入字符的长度在0-100之间?
前者可用正则验证:"^(\d{1,2}|100)$",
后者:textBox1.MaxLength = 100;
[/Quote] 好方法 直接学习 可是我我觉得这个有问题
"^(\d{1,2}|100)$" 你这只能验证整数
而楼书的要求是“我现在是想把他转化为float型”
如果用户输入10.00 你那个判断不是认为他是无效的吗???
float result = 0;
if(float .TryParse(textBox1.Text,out result))
MessageBox.Show("right");
else
{
if(result>=0&&result<=100)
MessageBox.Show("right");
else
MessageBox.Show("wrong");
}
jadedm 2008-09-07
  • 打赏
  • 举报
回复
顶楼上 用正则表达式即可
wuyi8808 2008-09-07
  • 打赏
  • 举报
回复
是输入的要求是1-3数字,且值在0-100之间,还是输入字符的长度在0-100之间?
前者可用正则验证:"^(\d{1,2}|100)$",
后者:textBox1.MaxLength = 100;
yang709610485 2008-09-07
  • 打赏
  • 举报
回复
Regex re =new Regex({0-9}[0,100]);
我姓区不姓区 2008-09-07
  • 打赏
  • 举报
回复

double result = 0;
if(double.TryParse(textBox1.Text,out result) && result > 0 && result < 100)
MessageBox.Show("right");
else
MessageBox.Show("wrong");
我姓区不姓区 2008-09-07
  • 打赏
  • 举报
回复

double result = 0;
if(double.TryParse(textBox1.Text,out result))
MessageBox.Show("right");
else
MessageBox.Show("wrong");
JeffChung 2008-09-07
  • 打赏
  • 举报
回复
是winform吧,楼上都喜欢往webform里答

正则我不会,最笨的方法就是用异常,在try里转换
qishaofeng123 2008-09-07
  • 打赏
  • 举报
回复
正在学习中。路过,记下。
zjw2004112 2008-09-07
  • 打赏
  • 举报
回复

//用脚本把
if(IsNaN(document.getElementID('TextID').value))
{
if(document.getElementID('TextID').value <0 || document.getElementID('TextID').value>100)
{
alert('数字必须在0-100之间');
document.getElementID('TextID').focus();
return false;
}
else
{
//执行你需要的逻辑
}
}
else
{
alert('必须输入数字');
document.getElementID('TextID').focus();
return false;
}
zjw2004112 2008-09-07
  • 打赏
  • 举报
回复
//用脚本把
if(IsNaN(document.getElementID('TextID').value))
{
if(document.getElementID('TextID').value<0 || document.getElementID('TextID').value>100)
{
alert('数字必须在0-100之间');
}
else
{
//执行你需要的逻辑
}
}
else
{
alert('必须输入数字');
}
fish_birds 2008-09-07
  • 打赏
  • 举报
回复
不好意思,刚结完分,没看见你,而且这次给的分也不多,望没得到分的帅哥美女谅解为谢!
sankt 2008-09-07
  • 打赏
  • 举报
回复
用正则表达式即可

^[0-9]{1,2}$

如果100也要的话,
^([0-9]{1,2}|100)$
fish_birds 2008-09-07
  • 打赏
  • 举报
回复
我要输入的是0到100的数字,但我又是要在文本框中输入,我用tbroad1 = float.Parse(tbRoad1.Text);转换时要是输入字符或空格就会报错。
「已注销」 2008-09-07
  • 打赏
  • 举报
回复
UP...
这个其实蛮简单的,但懒得想,嘿嘿
hflkl1314 2008-09-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 JeffChung 的回复:]
是winform吧,楼上都喜欢往webform里答

正则我不会,最笨的方法就是用异常,在try里转换
[/Quote]
看你的三角和你的回答好像不太符合嘛

110,535

社区成员

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

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

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