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))
我尝试将字符串转换为浮点数,因为我使用 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))