8

ループを使用して他の場所でこれが回答されていることがわかりましたが、これを簡単にする機能が実際に見つかっていないのか、それともこれが (私の意見では) C# のマイナス面である可能性があるのか​​ はわかりませんでした。

次のようなユーザー入力から double を読み取ろうとしています。

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

これに関する他のいくつかの投稿を見つけましたが、それらはすべて異なる回答をしており、尋ねられた質問もまったく同じではありません. ユーザー入力を読み込みたいだけの場合、それを行う最善の方法は何ですか?

4

4 に答える 4

10

途中で全体をチェックする必要があります.. asConsole.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 に答える