【问题标题】:Error at converting string to double in c#在c#中将字符串转换为双精度时出错
【发布时间】:2015-10-04 07:38:41
【问题描述】:

我在将字符串转换为双精度时遇到问题。我正在使用 Double.Parse 方法,但它一直在说有这个“输入字符链格式不正确”。我要转换的字符串是这个:21.00000000。这个功能不支持吗?如果是这样,为什么不呢? 这是错误acc.Latitude = double.Parse(accounts.Lat)所在的行。

最好的问候。

【问题讨论】:

  • 请提供您的代码示例
  • 需要看看你做错了什么才能修复它
  • acc.Latitude = double.Parse(accounts.Lat) 是 acc.Latitude double 和 accounts.Lat 是我之前提到的我收到的数字
  • 现在是确切的错误信息...?另外:您确定错误确实发生在您认为的地方吗?如果在解析双精度时出现了关于DateTime 的异常,那就太奇怪了……
  • accounts.Lat的内容是什么?

标签: c# string parsing double


【解决方案1】:

您可以使用Double.TryParse inestad 来防止输入。如果可以解析输入字符串,则此方法返回 true。在这种情况下,out-param 包含实际的double-value:

double value;
if (Double.TryParse(accounts.Lat, out value;)) 
{ 
    /* do something with the value */
}

【讨论】:

    【解决方案2】:

    这实际上是由于区域设置。我已经将. 切换为, 并且它起作用了。感谢您的帮助。

    【讨论】:

      猜你喜欢
      • 2013-10-10
      • 2015-04-10
      • 1970-01-01
      • 2012-07-09
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多