我从一本书开始就遇到这个问题
以便在华氏温度和摄氏温度之间转换。
private void button1_Click(object sender, EventArgs e)
{
float fahr, cel;
if (Celsius.Checked == true)
{
fahr = float.Parse(textBox1.Text);
cel = (5/9)*(fahr-32);
richTextBox1.Text = "The Degree in Celsius is:" + cel.ToString() + Environment.NewLine + "cool isn't it!?";
}
else if (Fahrenheit.Checked == true )
{
cel = float.Parse(textBox1.Text);
fahr = ((9 * cel)/5)+ 32;
richTextBox1.Text = "The degree in Fahrenheit is:" + fahr.ToString() + Environment.NewLine + "cool is it!?";
}
当我想从华氏温度中获取摄氏温度时,即使公式对我来说是正确的,它也会一直给我0。
怎么了
因为我认为问题出在这里:
if (Celsius.Checked == true)
{
fahr = float.Parse(textBox1.Text);
cel = (5/9)*(fahr-32);
richTextBox1.Text = "The Degree in Celsius is:" + cel.ToString() + Environment.NewLine + "cool isn't it!?";
也许我对Ops of Ops有问题,但是我认为这是真的吗?
感谢帮助。
最佳答案
尝试将另一个演员放在那里,以确保像这样:
cel = ((float)5/9)*(fahr-32);
最有可能5/9计算为整数并给出0。其他选项如下:
cel = (5f/9f)*(fahr-32);
关于c# - 华氏温度和摄氏温度之间的转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4538073/