8

我发现在其他地方使用循环回答了这个问题,但我不确定是否真的有一个我没有发现的函数可以让这更容易,或者这是否可能(在我看来)对 C# 不利。

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

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

我在这方面找到了其他几个帖子,他们都有不同的答案,而且提出的问题也不完全相同。如果我只想读取用户输入,那么最好的方法是什么?

4

4 回答 4

12

试试这个:

double Salary = Convert.ToDouble(Console.ReadLine());
于 2014-02-22T23:10:26.203 回答
10

你必须检查整个事情的方式......Console.Read()返回一个整数。

double totalSalary;
if (!double.TryParse(Console.ReadLine(), out totalSalary)) {
    // .. error with input
}
// .. totalSalary is okay here.
于 2012-12-11T03:29:13.850 回答
5

最简单的回答你的问题:

double d = Double.Parse(Console.Readline());
于 2013-10-04T03:03:05.520 回答
0
string input = Console.ReadLine();
double d;
if (!Double.TryParse(input, out d))
    Console.WriteLine("Wrong input");
double r = d * Math.Pi;
Console.WriteLine(r);
于 2012-12-11T03:27:36.460 回答