我最近在C之后开始学习C#,并且我一直在尝试编写一个简单的程序,该程序读取Celsius值直到EOF并将其转换为华氏度,但是由于某种原因,我的学习平台不接受我的代码运行时错误。当我在控制台中按Enter键时,出现错误消息:
System.FormatException:'输入字符串的格式不正确。' ...
用于Convert.ToDouble
命令行。
我该如何解决这个问题?
while (true)
{
string celsius = Console.ReadLine();
if (celsius == null)
break;
float convcel = (float)Convert.ToDouble(celsius);
float fahren = (float)(1.8 * convcel) + 32;
Console.WriteLine(fahren);
}
答案 0 :(得分:3)
尝试一下-
while (true)
{
string celsius = Console.ReadLine();
if (string.IsNullOrWhiteSpace(celsius))
break;
if(float.TryParse(celsius, out float convcel))
{
float fahren = (float)(1.8 * convcel) + 32;
Console.WriteLine(fahren);
}
}
TryParse仅在能够将字符串转换为true
并将转换后的值分配给float
时才返回convcel
。
是的,正如评论中所建议,我已经更新了if条件。