我是 C# 新手,正在控制台应用程序中尝试一些东西。我正在尝试获取用户输入并将其转换为不同的数据类型,然后显示转换后的数据。
到目前为止我试过这个:
string userInput;
int intInput;
float floatInput;
Console.WriteLine("Please enter a number: ");
userInput = Console.ReadLine();
intInput = Convert.ToInt32(userInput);
floatInput = (float)intInput;
Console.WriteLine("String input: "+userInput+"\n");
Console.WriteLine("Integer input: " + intInput + "\n");
Console.WriteLine("Float input: " + floatInput + "\n");
它在视觉工作室中没有给我任何错误,但是当我运行程序时,它喜欢整数并显示它们。但是当我输入一个像4.4
它这样的数字时,程序会停止程序并FormatException was unhandled
对此行发出警告inInput = convert.ToInt32(userInput);
。
我的本地人窗口显示:
userInput = "4.4"
intInput = 4
floatInput = 4.0
为什么我会收到此错误?这是转换数据类型的正确方法吗?
编辑:因为我不知道用户可能输入什么我怎么能以某种方式测试它?