我想创建一个if
语句,用于验证文本框中的输入数字是否介于0到100之间。例如:
NumericUpDown num = new NumericUpDown();
num.Maximum = 100;
num.Minimum = 0;
if (int.Parse(txtMid.Text) < num.Minimum && int.Parse(txtMid.Text) > num.Maximum)
{
MessageBox.Show("Please input 0 to 100 only.");
}
这就是全部。提前谢谢。
答案 0 :(得分:6)
您需要将txtbox1.Text字符串解析为整数:
int val = 0;
bool res = Int32.TryParse(txtbox1.Text, out val);
if(res == true && val > -1 && val < 101)
{
// add record
}
else
{
MessageBox.Show("Please input 0 to 100 only.");
return;
}
另外,您需要测试一个或两个文本框吗?如果只有一个并且您需要间隔0,100,那么您的条件是错误的,因为它总是返回false(数字不能同时为&lt; = -1和&gt; = 101)。
非常重要:我已经撤销了你的if / else:你必须在else中打印错误并在if中添加记录。
答案 1 :(得分:2)
首先将文本转换为Int然后您可以比较它。但要小心输入的文本可能不是数字,例如用户可以输入abc而不是12
您可以使用Int.TryParse(String)
方法检查文本框是否包含有效数字。如果该号码有效,则应用下面的if条件
if(Convert.ToInt32(txtbox1.Text) <= -1 && Convert.ToIn32(textbox2.Text >= 101)
{
}
答案 2 :(得分:1)
其他答案可以回答您的直接问题,但输入数字的更好选择是使用限制数字输入的NumericUpDown
控件,并提供旋转控件。
答案 3 :(得分:1)
基本上你想要做的是:
TryParse
方法)。答案 4 :(得分:0)
TextBox.Text属性将返回值作为字符串。所以,首先你必须将该字符串解析为整数。 您可以使用以下代码:
int num = -2;
bool conversionSuccessful = int.tryParse(txtbox1.Text, out num);
if(conversionSuccessful) {
if (num <= -1 && num >= 101) {
MessageBox.Show("Please input 0 to 100 only.");
return;
}
}
的更多信息
答案 5 :(得分:0)
int val1=0,val2=0
try
{
val1 = Convert.ToInt32(txtbox1.Text);
val2 = Convert.ToIn32(textbox2.Text);
}
catch
{
MessageBox.Show("Invalid Input");
}
// Do all the Checking here....