我从一本书开始就遇到这个问题
以便在华氏温度和摄氏温度之间转换。

    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/

10-09 13:48