为什么我不能从华氏温度转换为摄氏温度?

wes*_*wes -2 c#

我的C#代码一直给我一个错误的转换结果.据我所知,转换公式是正确的,但它仍然显示错误的结果.

例如:70°F给我12,777777°C.你能检查一下我的代码吗?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Temperature
{
    class Program
    {    
        class Temperature
        {
            public double temp;

            public void Convert(double value)
            {
                double tEmp;
                tEmp = (value - 32) / 1.8;
                Console.WriteLine("The temperature in °C is :" + tEmp);
                Console.ReadKey();
            }
        }

        static void Main(string[] args)
        {
            double f;
            Temperature c = new Temperature();
            f = Console.Read();
            c.Convert(f);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*lis 13

你的问题是

f = Console.Read();
Run Code Online (Sandbox Code Playgroud)

它只读取第一个字符,而不是整行输入.尝试

f = Convert.ToDouble(Console.ReadLine());
Run Code Online (Sandbox Code Playgroud)

这是关于Console.Readvs. 之间差异一个很好的答案Console.ReadLine()