c# – Convert.ToDouble(“4089.90”)输出40.899,00为什么?
发布时间:2020-12-15 06:48:12 所属栏目:百科 来源:网络整理
导读:大家好,我正在开发一个使用数字精度的软件,但是我有这个问题,当我把一个字符串转换成double时,会输出一个不同的文化. 例如我使用 Convert.ToDouble("4089.90"); // it outputs 40.899,00 在我的电脑中,奇怪的原因是可以正常工作,但在客户端的PC上(在区域设置
大家好,我正在开发一个使用数字精度的软件,但是我有这个问题,当我把一个字符串转换成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; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |