小数点的不同表示

本文关键字:表示 小数点 | 更新日期: 2023-09-27 18:06:55

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

小数点的不同表示

这是文化问题。

你的模拟器和手机可能有不同的文化设置,这就是为什么你有不同的结果。使用设备区域性或不变区域性

我建议使用不变文化到处

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

当前用户文化

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

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