允许只输入一个数字

本文关键字:一个 数字 输入 | 更新日期: 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方法的更多信息,请查看此处