C# 在c中将字符串转换为双精度时出错#
我无法将字符串转换为双精度字符串。我正在使用Double.Parse方法,但它不断崩溃,说有这个“格式不正确的输入字符链”。我试图转换的字符串是:C# 在c中将字符串转换为双精度时出错#,c#,string,parsing,double,C#,String,Parsing,Double,我无法将字符串转换为双精度字符串。我正在使用Double.Parse方法,但它不断崩溃,说有这个“格式不正确的输入字符链”。我试图转换的字符串是:21.00000000。此函数不支持它吗?若然,原因为何? 这是错误的一行acc.Latitude=double.Parse(accounts.Lat) 致以最良好的祝愿 您可以使用Double.TryParseinestad来防止输入错误。如果可以解析输入字符串,则此方法返回true。在这种情况下,out-param包含实际的double-value
21.00000000
。此函数不支持它吗?若然,原因为何?
这是错误的一行
acc.Latitude=double.Parse(accounts.Lat)
致以最良好的祝愿 您可以使用
Double.TryParse
inestad来防止输入错误。如果可以解析输入字符串,则此方法返回true
。在这种情况下,out
-param包含实际的double
-value:
double value;
if (Double.TryParse(accounts.Lat, out value;))
{
/* do something with the value */
}
这实际上是由于区域环境。我已将
切换为,
,它成功了。谢谢您的帮助。请提供您的代码样本,以便查看您的错误所在,以便能够修复它acc.Latitude=double.Parse(accounts.Lat)
成为acc.Latitude double和accounts.Lat。Lat是我之前收到的数字,现在是确切的错误消息。。。?另外:您确定错误确实发生在您认为发生的地方吗?如果在解析double时发生了关于DateTime
的异常,那就很奇怪了。accounts.Lat
中的内容是什么?