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