将华氏温度转换为摄氏温度

时间:2013-11-06 02:50:12

标签: c#

我正在尝试将华氏温度转换为摄氏温度。当我从摄氏温度转换为华氏温度时,我得到正确的结果,但当我尝试从华氏温度转换为摄氏温度时,我得到了错误的答案,例如,如果我键入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 ";
  }
}

3 个答案:

答案 0 :(得分:3)

你错过了一个括号

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

答案 1 :(得分:1)

你的等式不太正确。试试波纹管。

Celsius = (Fahrenheit  -  32)  x  5/9 

您已将Fahrenheit - 32括在括号中。

答案 2 :(得分:0)

这是一个快速帮助方法,可用于正确获取值。

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

static double ConvertToCelsius(double value)
{
    return ((value - 32) * 5) / 9;
}