0

我尝试将字符串转换为浮点数,因为我使用Console.ReadLine()输入。

Console.ReadLine()唯一接受字符串值,但我需要转换。我怎么能这样做?

谢谢你。

4

4 回答 4

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

或者

        float val2;
        if (!float.TryParse(Console.ReadLine(), out val2))
        {
            Console.WriteLine("Not a valid float");
        }
        else {
            Console.WriteLine(val2);
        }
于 2016-08-27T18:30:38.167 回答
1

用于Convert.ToDouble()转换输入的字符串值

double input = Convert.ToDouble(Console.ReadLine())
于 2016-08-27T18:17:14.030 回答
1

你可以做的是使用 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");
}

这应该可以解决您的问题。

于 2016-08-27T18:35:58.183 回答
1

我建议double.TryParsedo..while循环中使用,以便不断询问,直到输入正确的值:

 double input = 0.0;

 do { 
   Console.WriteLine("Please enter floating point value");
 }
 while (!double.TryParse(Console.ReadLine(), out input))
于 2016-08-27T19:19:47.097 回答