C# ReadLine 浮点数

C# ReadLine float

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

Console.ReadLine() 只接受字符串值,但我需要转换。我该怎么做?

谢谢。

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

double input = Convert.ToDouble(Console.ReadLine())
        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);
        }

你能做的就是使用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 以继续询问直到输入正确的值:

 double input = 0.0;

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