0

在尝试解析双精度时,我发现 Visual Studio 中的模拟器和我的 Lumia 820 之间的行为有所不同。如果我有一个表示 的字符串string stringdouble = 3.434233,则模拟器会正确地将其解析为相应的双精度值,但在我的 Lumia 820 上处于调试模式时,我必须用逗号替换点以使其工作。是什么导致了这种差异?

4

1 回答 1

4

那是一个文化问题。

您的模拟器和手机可能设置了不同的文化,这就是您的结果存在差异的原因。使用设备或不变的文化。

我建议在任何地方都使用不变的文化

double.Parse("3.5", CultureInfo.InvariantCulture)

当前用户文化

double number = Double.Parse("202.667,40", CultureInfo.CurrentCulture);

对于将数字解析和转换为字符串,这将有助于避免您描述的错误

于 2013-04-01T12:46:17.797 回答