我在其他地方使用循环找到了这个回答,但我不确定是否实际上有一个我没有找到的功能使这更容易,或者如果这是可能的(在我看来)负面的一面到C#。
我正试图从这样的用户输入中读取双精度语:
Console.WriteLine("Please input your total salary: ") // i input 100
double totalSalary = Console.Read(); //reads in the 1, changes to 49.
我发现了其他几个帖子,他们都有不同的答案,所提问题也不完全相同。如果我只想读入用户输入,那么最好的方法是什么?
答案 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);