转换为浮动的最佳/最快方式

时间:2011-09-12 22:21:58

标签: c# floating-point

所以我试图在float number中输入和输出。

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

我看到ReadLine将在字符串中格式化的问题,这将导致“错误CS0029:无法将类型'字符串'隐式转换为'浮动'(CS0029)”。现在,我如何将字符串转换为浮点数?我可以使用float.Parase:

string unformattedNumber;
float number;

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

number = float.Parse(unformattedNumber);

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

但有没有比ReadLine语句在同一行转换更好的方法?

3 个答案:

答案 0 :(得分:5)

答案 1 :(得分:2)

float number = float.Parse(Console.ReadLine());应该工作得很好。通常,您可以在同一行上组合函数调用。只是不要忘记 - 确保意思清楚。有时它实际上会让你的代码更清晰,但是如果你做得太多,你最终会得到一个难以理解的代码丛。

答案 2 :(得分:1)

调用float.Parse的问题是,如果您的输入不是数值,它将引发异常并暂停您的程序。由于用户此时可以输入任何内容,因此您需要满足这一要求。

您可以将float.Parse包装在异常处理程序中,但最好使用float.TryParse

float result;
if (float.TryParse(Console.ReadLine(), out result))
{
    // Do stuff
}