如何使用输入将字符串转换为双精度?

时间:2019-01-03 10:07:10

标签: c# type-conversion

我想请用户以字符串类型输入数字(因为这是C#中的唯一方法),然后将其转换为双精度类型。

private static string InputDouble(double prompt)
{
    Console.WriteLine("{0:s}: ", prompt);
    return Convert.ToDouble(Console.ReadLine());
}

我希望有人对此有解决方案。

3 个答案:

答案 0 :(得分:1)

您可以使用Double的TryParse方法:

public Double? StringToDouble(String input){
    if(Double.TryParse(input, out Double d)) {
        Console.WriteLine("The double value is {0}", d);
        return d;
    }
    else{
       Console.WriteLine("The input string was not in correct format");
   }
   return null;
}

TryParse方法相比,Parse方法的优势在于,如果输入格式不正确,则不会引发任何异常,而是返回一个布尔值,指示该值是否具有是否成功解析。

答案 1 :(得分:1)

使用Double.Parse。

这是代码:

Console.WriteLine("Enter a number : ");
string numString = Console.ReadLine(); //string
double numDouble = double.Parse(numString); //double

如果要将双精度型转换为字符串,请使用。让我们假设doubleText为double。

string stringText = doubleText.ToString();

答案 2 :(得分:0)

使用Double.Parse

private static double InputDouble(double prompt)
{
    Console.WriteLine("{0:s}: ", prompt);
    return Double.Parse(Console.ReadLine());
}