摄氏温度到华氏温度

时间:2011-02-01 17:22:08

标签: .net vb.net

这就是我需要它来运行并要求摄氏而不是华氏温度,但它没有这样做..

Dim celsius, fahrenheit As Double
    Console.WriteLine("Please enter a celsius temperature:")
    celsius = Convert.ToDouble(Console.ReadLine())
    fahrenheit = celsius * 9 / 5 + 32
    celsius = Math.Round(fahrenheit, 1)
    Console.WriteLine(celsius & " C =" & fahrenheit & " F")

我根本不明白这一点我想也要求用户为这部分输入摄氏度。告诉我我需要改变公式来计算这部分的华氏温度。

3 个答案:

答案 0 :(得分:1)

你这里的任务错了 - 的 celsius = Math.Round(fahrenheit, 1) 应该被分配到华氏温度..公式是 -

c=(5/9) * (fahrenheit - 32)
f=(9/5) * celsius  + 32

更正代码 -

  Dim celsius, fahrenheit As Double
        Console.WriteLine("Please enter a celsius temperature:")
        celsius = Convert.ToDouble(Console.ReadLine())
        fahrenheit = celsius * 9 / 5 + 32
        fahrenheit = Math.Round(fahrenheit, 1)//assign fahrenheit 
        Console.WriteLine(" C =" & celsius & " F=" & fahrenheit)

答案 1 :(得分:1)

Dim celsius, fahrenheit As Double
    Console.WriteLine("Please enter a celsius temperature:")
    celsius = Convert.ToDouble(Console.ReadLine())
    fahrenheit = celsius * 9 / 5 + 32

fahrenheit = Math.Round(华氏度,1)

    Console.WriteLine(celsius & " C =" & fahrenheit & " F")

答案 2 :(得分:0)

这个怎么样:

    Dim celsius, fahrenheit As Double
    Console.WriteLine("Please enter a celsius temperature:")
    If Double.TryParse(Console.ReadLine(), celsius) Then 'check input
        fahrenheit = celsius * 9.0R / 5.0R + 32.0R  'convert it
        Console.WriteLine("{0:F1}°C = {1:F1}°F", celsius, fahrenheit) 'show it
    End If

所以你存储了完整的精度数字,但只显示1位小数。使用TryParse()函数也更安全,因为如果输入不是数字,它不会抛出异常。或者,您可以使用比Conversion.Val()更强大的Convert.ToDouble()