我写了一个算术运算程序。结果工作正常。 但我想继续一点。 我想要一个文本框,它接受所有值,如正数,负值,十进制值(Int,Float,Long,Double),excpet String或Character。 输入字符串或字符时,它应该抛出一条错误消息(我将在消息框中使用try& Catch执行此操作)
private void button1_Click(object sender, EventArgs e)
{
int num1, num2, res;
num1 = int.Parse(textBox1.Text);
num2 = int.Parse(textBox2.Text);
res = num1 * num2;
textBox3.Text = (num1 * num2).ToString();
}
答案 0 :(得分:2)
使用TryParse
,更改最常规的num1
和num2
类型double
:
private void button1_Click(object sender, EventArgs e) {
// double as the most general numeric type
double num1, num2;
if (!double.TryParse(textBox1.Text, out num1)) {
if (textBox1.CanFocus)
textBox1.Focus();
MessageBox.Show(String.Format("\"{0}\" is not a valid value", textBox1.Text));
}
else if (!double.TryParse(textBox2.Text, out num2)) {
if (textBox2.CanFocus)
textBox2.Focus();
MessageBox.Show(String.Format("\"{0}\" is not a valid value", textBox2.Text));
}
else
textBox3.Text = (num1 * num2).ToString();
}
答案 1 :(得分:0)
您可以使用try catch,并将您的变量用作float,以便您可以在textbox输入中自由输入float和int数据
private void button1_Click(object sender, EventArgs e)
{
float num1, num2, res;
try
{
num1 = float.Parse(textBox1.Text);
}
catch (Exception)
{
MessageBox.Show("Error");
}
try
{
num2 = float.Parse(textBox2.Text);
}
catch (Exception)
{
MessageBox.Show("Error");
}
res = num1 * num2;
textBox3.Text = (num1 * num2).ToString();
}