我几乎和这个帖子中的人有同样的问题:
转换具有句点而不是逗号的浮点数?
这样我的
double x = 234.4; string y = x.ToString();
我得到的y == "234,4"
;
更糟糕的是... Double.Parse("234.4")
抛出异常.
在我被要求使用句号而不是逗号之前,我已经写了很多代码,所以我更愿意在某种程度上改变我在全球范围内的CultureInfo.
我可以在项目中设置一些设置吗?
我试过了:
Application.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US"); Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
他们有点工作.它们适用于应用程序的大部分内容,但驻留在TabControl选项卡中的所有控件仍然希望使用我的计算机Localized CultureInfo.
关于如何解决这个问题的任何想法?
你可以尝试使用
double.Parse("...", CultureInfo.InvariantCulture)
和
x.ToString(CultureInfo.InvariantCulture)
在你积极的程序部分,你需要有十进制期而不是逗号或其他区域设置依赖小数分隔符.
希望能帮助到你.
感谢Florin Sabaus发表评论,我发现了解决方案
Application.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
在我创建表单之前的Main()中.
现在我不必更改所有.ToString()和Double.Parse():-)是的!