小数点的不同表示

时间:2013-04-01 12:40:43

标签: c# .net windows-phone

在尝试解析double时,我看到Visual Studio中的模拟器和我的Lumia 820之间的行为有所不同。如果我有一个表示string stringdouble = 3.434233的字符串,模拟器会正确地将其解析为相应的double值,但在调试模式下的Lumia 820上,我必须用逗号替换该点才能使其工作。造成这种差异的原因是什么?

1 个答案:

答案 0 :(得分:4)

这是一个文化问题。

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

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

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

当前用户文化

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

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