允许只输入一个数字 - C#

时间:2014-07-17 10:53:01

标签: c# console numbers

我对C#很新。 我正在尝试制作一个将摄氏度转换为华氏度的基本程序。 但是这里有捕获,我想确保用户只输入有效数字而不输入字符或符号。如果用户输入,例如39a,23,则控制台要求他再次输入该号码。

 Console.WriteLine("Please enter the temperature in Celsius: ");
 double x = Convert.ToDouble(Console.ReadLine());

另外,我一直在制作其他程序,我一直想知道 - 我是否总是要使用“Convert.ToInt / Convert.ToDouble”?还是有更快的方式?

1 个答案:

答案 0 :(得分:5)

使用方法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的详细信息,请查看here