2011-09-12 6 views
0

したがって、浮動小数点数で入出力を行おうとしています。 「:暗黙的に 『フロート』(CS0029)にタイプ 『string』を変換できません。エラーCS0029」を浮動小数点数に変換するベスト/最速の方法

Console.WriteLine("Enter float number: "); 
float number = Console.ReadLine(); 
Console.WriteLine("{0}", number); 

私はReadLineメソッドが原因となります文字列の形式になっています問題を参照してください。今、文字列を浮動小数点に変換するにはどうすればよいですか?私はfloatを使用することができます。パラメータ:

string unformattedNumber; 
float number; 

Console.WriteLine("Enter float number: "); 
unformattedNumber = Console.ReadLine(); 

number = float.Parse(unformattedNumber); 

Console.WriteLine("{0}", number); 

ReadLineステートメントと同じ行に変換するための良い方法はありますか?

+2

'番号= float.Parse(Console.ReadLine());' - 'フロートもあります。 TryParse'を自由に使えます。 – Jon

+0

ああ!私はそこでこれを使うことができるのか分からなかった。 – HelpNeeder

+1

TryParseは、文字列が有効な番号でない場合には、少し速くする必要があります。 –

答えて

2

float number = float.Parse(Console.ReadLine());完全に正常に動作するはずです。一般的に、同じ行の関数呼び出しを作成することができます。ただ迷惑にならないように - 意味がはっきりしていることを確認してください。場合によっては実際にはコードをより明確にすることもありますが、あまりにも多くするとコードが読めなくなります。

1

float.Parseの呼び出しの問題は、あなたの入力が数値でない場合、それは例外を発生し、プログラムを停止するということです。ユーザーはこの時点で何かを入力することができるので、それに対応する必要があります。

あなたは、例外ハンドラでfloat.Parseをラップすることができますが、float.TryParseを使う方が良いでしょう:

float result; 
if (float.TryParse(Console.ReadLine(), out result)) 
{ 
    // Do stuff 
} 
関連する問題