允许只输入一个数字
本文关键字:一个 数字 输入 | 更新日期: 2023-09-27 18:13:23
我对c#相当陌生。我在试着做一个基本的程序把摄氏度转换成华氏度。但这里有一个问题,我想确保用户只输入一个有效的数字,而不是字符或符号。如果用户输入,例如39a,23,控制台要求他再次输入数字。
Console.WriteLine("Please enter the temperature in Celsius: ");
double x = Convert.ToDouble(Console.ReadLine());
另外,我一直在编写其他程序,我一直在想——我是否总是必须使用"Convert.ToInt/Convert.ToDouble"?或者有更快的方法吗?
最好使用Double.TryParse
方法。通过这种方式,您将检查用户提供的字符串是否可以解析为double类型。
// This is the variable, in which will be stored the temperature.
double temperature;
// Ask the user input the temperature.
Console.WriteLine("Please enter the temperature in Celsius: ");
// If the given temperature hasn't the right format,
// ask the user to input it again.
while(!Double.TryParse(Console.ReadLine(), out temperature))
{
Console.WriteLine("The temperature has not the right format, please enter again the temperature: ");
}
如果解析成功,方法Double.TryParse(inputString, out temperature)
将返回true
,如果解析失败,则返回false
。
有关Double.TryParse
方法的更多信息,请查看此处