2016-08-27 4 views
0

Console.ReadLine()を入力に使用しているため、変換文字列を浮動させようとしています。C#ReadLine float

Console.ReadLine()は文字列値のみを受け入れますが、変換が必要です。私はそれをどのようにすることができますか?

ありがとうございます。あなたは何ができるか入力された文字列値

double input = Convert.ToDouble(Console.ReadLine()) 

答えて

1
 float val = float.Parse(Console.ReadLine()); 
     Console.WriteLine(val); 

OR

 float val2; 
     if (!float.TryParse(Console.ReadLine(), out val2)) 
     { 
      Console.WriteLine("Not a valid float"); 
     } 
     else { 
      Console.WriteLine(val2); 
     } 
1

使用Convert.ToDouble()はfloat.TryParseを使用しています。それは誰かのように見えるはずです。

float fl; 
float.TryParse(Console.ReadLine(), out fl); 

それが動作するはずですが、あなたはまた、それが解析されない場合は、警告がありますように、if文でtryparseを使用する置くことができます。このように:

float fl; 
if(!float.TryParse(Console.ReadLine(), out fl)){ 
Console.WriteLine("It didn't parse"); 
} 

これは問題を解決するはずです。正しい値が入力されるまで、私が求めて保つためにdo..whileループでdouble.TryParseを使用することをお勧め

1

を変換する

+0

をあなたの最初の文では、あなたは 'Console.TryParse'を言うが、あなたのコードは、あなたが'意味することを示していますfloat.TryParse' – DWright

+0

ありがとうございます。申し訳ありませんが、私はそれを台無しにしたことに気付きませんでした。 –

1

double input = 0.0; 

do { 
    Console.WriteLine("Please enter floating point value"); 
} 
while (!double.TryParse(Console.ReadLine(), out input))