2
private void button1_Click(object sender, EventArgs e)
{
    double temp = double.Parse(textBox1.Text);

    if (temp < 0)
    {
        label2.Text = "Freezing.";
    }
    if (temp > 40)
    {
        label2.Text = "Hot.";
    }
    else
    {
        label2.Text = "Moderate.";
    }
}
4

2 回答 2

3

每当将用户输入或任何形式的 String 类型转换为对象时,我总是喜欢使用 TryParse(...),因为如果出现问题,它可以为您提供更好的控制。

double temp = 0.0d;
var converted = double.TryParse(textBox1.Text, out temp);
if (!converted) throw new Exception("Please enter a positive or negative temperature.");
if (temp < 0.0d)
{
    // Freezing
}
else if (temp >= 0.0d && temp < 40.0d)
{
    // Moderate
}
else if (temp >= 40.0d)
{
    // Hot
}
于 2013-11-15T00:55:25.640 回答
1

关键是找出读入的值是什么temp。如果它带来负数,那么我建议更改下面的代码。它真正做的是如果第一个不正确,那么它检查第二个,如果两者都不正确,最后它使用第三个。

private void button1_Click(object sender, EventArgs e)
{
    double temp = double.Parse(textBox1.Text);

    if (temp < 0)
    {
        label2.Text = "Freezing.";
    }
    else if (temp > 40)
    {
        label2.Text = "Hot.";
    }
    else
    {
        label2.Text = "Moderate.";
    }
}
于 2013-11-15T00:48:26.863 回答