我想请用户以字符串类型输入数字(因为这是C#中的唯一方法),然后将其转换为双精度类型。
private static string InputDouble(double prompt)
{
Console.WriteLine("{0:s}: ", prompt);
return Convert.ToDouble(Console.ReadLine());
}
我希望有人对此有解决方案。
答案 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());
}