大家好,我正在开发一个使用数字精度的软件,但是我有这个问题,当我把一个字符串转换成double时,会输出一个不同的文化.
例如我使用
- Convert.ToDouble("4089.90"); // it outputs 40.899,00
在我的电脑中,奇怪的原因是可以正常工作,但在客户端的PC上(在区域设置中具有相同的文化)显示了后者的输出.我知道我可以修复它
- Convert.ToDouble("4089.90",System.Globalization.CultureInfo.InvariantCulture);
但是程序中有很多代码使用“Convert.ToDouble”,我不想改变它,另一方面我想明白为什么会发生这种情况.
提前致谢.
解决方法
您可以为您的线程设置文化:
- Thread.CurrentThread.CurrentCulture =
- System.Globalization.CultureInfo.InvariantCulture;