这就是我需要它来运行并要求摄氏而不是华氏温度,但它没有这样做..
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")
我根本不明白这一点我想也要求用户为这部分输入摄氏度。告诉我我需要改变公式来计算这部分的华氏温度。
答案 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
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()
。