Console.WriteLine("Enter a double number");
string numberInput = Console.ReadLine();
double number = Double.Parse(numberInput)
我的问题是最后一行代码在做什么?它是否与ToDouble
做同样的事情?理解C语言解析#
Console.WriteLine("Enter a double number");
string numberInput = Console.ReadLine();
double number = Double.Parse(numberInput)
我的问题是最后一行代码在做什么?它是否与ToDouble
做同样的事情?理解C语言解析#
非常简短的回答是:
将字符串值转换成一个双。例如
“2.3”(字符串)将变成2.3(双)。
您对如何做到这一点有很多选择:
Double.TryParse()是方便的,如果你不知道100%的输入字符串是要是一个数字值。
这是转换一个string
到double
,则Console.ReadLine()
方法读取字符串数据并将其存储在名为numberInput
,从该字符串转换为double
string
变量,Double.Parse
叫我们传递给它的numberInput
字符串,它会转换它增加一倍。
它将String
输入并解释为数字输入 - 在这种情况下为Double
。 String
和Double
是完全不同的类型。例如,数学运算可以在Double
上执行。
将数字的字符串表示形式转换为其双精度浮点数等效形式。
MSDN:http://msdn.microsoft.com/en-us/library/system.double.parse.aspx
它调用了Double.Parse方法。根据MSDN页面
将数字的字符串表示形式转换为其等价的双精度浮点数。
按照@DoctorMick'sanswer:它与Convert.ToDouble
方法做同样的事情。
在这种情况下,它被使用,因为代码从用户那里得到一个string
,可以被认为是一个字母序列。我们希望将其纳入我们想要使用的正确类型,在本例中为Double
。 Double有这个解析方法。
读入变量numberInput
的数据是一个字符串。最后一行将其解析为System.Double
类型,以便更好地输入其他操作。
无法保证numberInput
包含有效的数值,在这种情况下,Parse方法将抛出一个您可以捕获的异常。
已经有7个不同的答案,但似乎每个人似乎都忽略了与ToDouble一样的问题。简短的回答是,它在做同样的事情,实际上ToDouble在内部调用double.Parse。
特别是,在这种情况下,输入可能是任何东西,TryParse是一种更清晰的方式来确定条目是否会转换。否则,你将不得不在Convert/ToDouble内try/catch。 TryParse为您处理。 –
谢谢你们。我对Convert.ToDouble和Double.Parse感到困惑。我猜他们做了类似的工作,但不确定。感谢您通知TryParse() – Maya