读取双重类型的用户输入

时间:2012-12-11 03:25:38

标签: c# parsing loops console

我在其他地方使用循环找到了这个回答,但我不确定是否实际上有一个我没有找到的功能使这更容易,或者如果这是可能的(在我看来)负面的一面到C#。

我正试图从这样的用户输入中读取双精度语:

Console.WriteLine("Please input your total salary: ") // i input 100
double totalSalary = Console.Read(); //reads in the 1, changes to 49.

我发现了其他几个帖子,他们都有不同的答案,所提问题也不完全相同。如果我只想读入用户输入,那么最好的方法是什么?

4 个答案:

答案 0 :(得分:9)

你必须检查整个事情......因为Console.Read()会返回一个整数。

double totalSalary;
if (!double.TryParse(Console.ReadLine(), out totalSalary)) {
    // .. error with input
}
// .. totalSalary is okay here.

答案 1 :(得分:7)

试试这个:

double Salary = Convert.ToDouble(Console.ReadLine());

答案 2 :(得分:2)

您问题的最简单答案:

double = Double.Parse(Console.Readline());

答案 3 :(得分:1)

string input = Console.ReadLine();
double d;
if (!Double.TryParse(input, out d))
    Console.WriteLine("Wrong input");
double r = d * Math.Pi;
Console.WriteLine(r);
相关问题