2011-07-26 23 views
0
Console.WriteLine("Enter a double number"); 
string numberInput = Console.ReadLine(); 


double number = Double.Parse(numberInput) 

私の質問は最後のコード行は何ですか? ToDoubleと同じことをしていますか?C#の解析の理解

答えて

6

非常に短い答えは:

文字列の値をdoubleに変換します。例えば

"2.3"(文字列)は2.3(ダブル)になります。

あなたがこれを行う方法の多くの選択肢があります:あなたが入力文字列をしようとしていることを100%わからない場合

Double.TryParse()

Convert.ToDouble()

Double.TryParse()が便利です数値でなければなりません。

+1

特に、この入力が何かである場合、TryParseはエントリが変換されるかどうかを確認するよりクリーンな方法です。それ以外の場合は、try/catch内でConvert.ToDoubleする必要があります。 TryParseがこれを処理します。 –

+0

ありがとうございます。私はConvert.ToDoubleとDouble.Parseについて混乱しました。私は彼らが同様の仕事をしたと推測していましたが、確信が持てませんでした。 TryParse()についてお知らせいただきありがとうございます – Maya

4

それはdoublestringを変換し、Console.ReadLine()方法は、文字列データを読み込み、doubleにその文字列から変換するには、numberInputという名前stringの変数に保存し、Double.Parseは、我々はそれにnumberInput文字列を渡すと呼ばれ、それが変換されますそれは倍増する。

3

"指定されたスタイルの数値の文字列表現を、それに相当する倍精度浮動小数点数に変換します。

MSDNを参照してください。

+0

Doh、あなたは私を打つ! –

3

この場合、数値入力としてStringを入力して解釈しています(この場合はDouble)。 StringDoubleは全く異なるタイプです。 1つは、Doubleで数学演算を実行できます。

3

それはDouble.Parseメソッドを呼び出しています。 MSDNページによると

数値の文字列表現を、それに相当する倍精度浮動小数点数に変換します。 @DoctorMick'sanswer 1として

:それはConvert.ToDouble方法と同じことを行います。

コードがstringをユーザから取得しているため、この例が使用されています。これは一連の文字と考えることができます。私たちはこれを適切なタイプにしたいと思っています。このタイプはDoubleです。 Doubleにはこのための解析メソッドがあります。

2

変数numberInputに読み込まれたデータは文字列です。最後の行は、これをタイプSystem.Doubleに解析します。これにより、他の操作のために型が整えられます。

numberInputには有効な数値が含まれているという保証はありません。この場合、Parseメソッドは例外をスローします。

2

7つの回答がありましたが、ToDoubleと同じことを誰もが見落としているようです。短い答えはまだです、それは同じことをしています、実際にはToDoubleはdoubleを呼び出します。内部的には。