0

我正在尝试将华氏温度转换为摄氏温度。当我从摄氏转换为华氏时,我得到了正确的结果,但是当我尝试从华氏转换为摄氏时,我得到错误的答案,例如,如果我输入华氏 98.7 度,我得到 81 度而不是 37 度。有谁知道我错了我的代码

if (RadioFah.Checked) 
{
  {
    double F = 0;    

    F = (double.Parse(textBox1.Text) - 32 * 5/9);

    textBox2.Text = F.ToString() + " °C ";

    //String s = String.Format( "{0:0,00}", F );
    //F = Convert.ToDouble(textBox1.Text) -32 * (5/9);
    //TxtBoxCelsius.Text = s + " °C ";
  }
}
else if (RadioCelsius.Checked)
{
  //if (double.TryParse(textBox2.Text.Text, out C))
  {
    double C = 0;    

    C = (double.Parse(textBox2.Text) * (9.0 / 5.0) + 32);

    textBox1.Text = C.ToString("N1") + " °F ";
  }
}
4

3 回答 3

3

你少了一个括号

F = ((double.Parse(textBox1.Text) - 32) * 5/9)
于 2013-11-06T02:53:40.290 回答
1

你的方程不太对。试试下面的方法。

Celsius = (Fahrenheit  -  32)  x  5/9 

您已将Fahrenheit - 32括号括起来。

于 2013-11-06T02:52:50.460 回答
0

这是一个快速帮助方法,您可以使用它来正确获取您的值。

static double ConvertToFahrenheit(double value)
{
    return ((value * 9) / 5) + 32;
}

static double ConvertToCelsius(double value)
{
    return ((value - 32) * 5) / 9;
}
于 2013-11-06T02:57:38.733 回答