gpt4 book ai didi

c# - 如何使用 Double.TryParse 方法(String、NumberStyles、IFormatProvider、Double)

转载 作者:行者123 更新时间:2023-11-30 19:05:08 24 4
gpt4 key购买 nike

我正在尝试解析值为“-51.739253997802734”的经度。

var unknownGeoCoordinate = GeoCoordinate.Unknown;
double latitude;
double longitude;
var numberFormatInfo = new NumberFormatInfo { NumberDecimalSeparator = ".", NegativeSign = "\u2212", NumberNegativePattern = 1 };
const NumberStyles style = NumberStyles.AllowLeadingSign | NumberStyles.Number | NumberStyles.AllowDecimalPoint;

if (!double.TryParse(latLng.First(), style, numberFormatInfo, out latitude) || !double.TryParse(latLng.Last(), style, numberFormatInfo, out longitude))
return unknownGeoCoordinate;

条件

double.TryParse(latLng.Last(), style, numberFormatInfo, out longitude)

始终返回 false 且未设置经度。它只发生在以“-”为前缀的字符串中。

最佳答案

您专门将 NumberNegativeSign 设置为“\u2212”。这可能是官方的 Unicode 减号,但不是编程语言或数据通信中通常使用的减号。

当我使用普通“-”(\u002D,连字符减号)时,您的示例 解析。您的解析失败,因为输入中的负号不是您指定的。

关于c# - 如何使用 Double.TryParse 方法(String、NumberStyles、IFormatProvider、Double),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29124219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com