指定 double.TryParse(..) 数字格式?
我从 API 获取纬度/经度字符串,格式为“37.766713”或“-122.428938”(请参阅 http ://en.wikipedia.org/wiki/Decimal_ Degrees )并希望将它们解析为双精度,但是, double.TryParse(string, out doubleInstance) 给了我一个双精度“37766713,0”。有没有什么优雅的方法来指定解析的输入格式?执行 string.Replace(".", ",") 会有点痛。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是一个文化问题。尝试使用
InvariantCulture
。This is a culture issue. Try using the
InvariantCulture
.叹息..应该看起来更长一点..这可以解决问题:Double.TryParse() 输入的小数分隔符与系统小数分隔符不同
Sigh.. should have looked a little longer.. this does the trick: Double.TryParse() input decimal separator different than system decimal separator
查看 Convert.ToDouble() 或 Double.parse(),您可以为特定的数字格式指定一个 IFormartProvider。
Take a look of the Convert.ToDouble() or Double.parse(), you can specify a IFormartProvider for the specific number format.