Windows Phone区域问题

时间:2011-01-22 17:37:44

标签: c# localization windows-phone-7 double bing-maps

我有一个需要在应用程序中解析的文本文件,这是在我的英国设备和美国设备上测试的。这个相同的文本文件被Android和iPhone应用程序使用,工作正常。据我所知,Windows手机上的某些人无法正常工作!

事实证明,如果将设备设置为像德国这样使用逗号“,”作为小数点的区域,则以下代码无法正常工作!

GeoCoordinate tempCoord = new GeoCoordinate();
tempCoord.Latitude = Convert.ToDouble(words[0]);
tempCoord.Longitude = Convert.ToDouble(words[1]);

当单词以字符串形式出现时,我不知道我怎么能把它变成字符串的双精度?

编辑: 在一个稍微相关的说明中,以下也让我感到悲伤!

geoWatcher.Position.Location.Latitude.ToString()

欧洲将返回56,888,美国/英国将返回56.888!

Arrrgh!

1 个答案:

答案 0 :(得分:1)

不使用Convert.ToDouble,而是使用double.parse(...)

double d = double.Parse("3.500,02", CultureInfo.GetCultureInfo("de-DE").NumberFormat); 

还有一个带有格式化程序的double.ToString()重载,您可以使用此重载以您希望的方式生成double的字符串表示。