我正在尝试解析具有值"-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;
Run Code Online (Sandbox Code Playgroud)
条件
double.TryParse(latLng.Last(), style, numberFormatInfo, out longitude)
Run Code Online (Sandbox Code Playgroud)
始终返回false并且未设置经度.它只发生在前缀为" - "的字符串上.
您专门将NumberNegativeSign设置为"\ u2212".这可能是官方的Unicode减号,但不是编程语言或数据通信中常用的.
当我使用普通的" - "(\ u002D,Hyphen-minus)时,你的例子会解析.您的解析失败,因为输入中的负号不是您指定的.
| 归档时间: |
|
| 查看次数: |
1982 次 |
| 最近记录: |