【问题标题】:Specify double.TryParse(..) number format?指定 double.TryParse(..) 数字格式?
【发布时间】:2011-01-04 00:25:10
【问题描述】:

我从 API 中获取 lat/lon 字符串,格式为 e.g. '37.766713' 或 '-122.428938' (请参阅http://en.wikipedia.org/wiki/Decimal_degrees)并希望将它们分别解析为双精度,但是 double.TryParse(string, out doubleInstance) 给了我双精度的 '37766713,0'。是否有任何优雅的方法来指定解析的输入格式?做 string.Replace(".", ",") 有点疼。

【问题讨论】:

标签: .net parsing formatting double


【解决方案1】:

这是一个文化问题。尝试使用InvariantCulture

double d = Double.Parse("37.766713", CultureInfo.InvariantCulture);

【讨论】:

    【解决方案2】:

    叹息.. 应该看起来长一点 .. 这就是诀窍:Double.TryParse() input decimal separator different than system decimal separator

    【讨论】:

      【解决方案3】:

      看一下Convert.ToDouble()或者Double.parse(),可以为具体的数字格式指定一个IFormartProvider。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多