C#双打显示逗号而不是句号
我几乎和这个post中的人有同样的问题:
转换具有句点而不是逗号的浮点数?
这样我的
double x = 234.4; string y = x.ToString();
我得到y == "234,4"
;
更糟糕的是…… Double.Parse("234.4")
抛出一个exception。
在我被要求使用句号而不是逗号之前,我已经写了很多代码,所以我更愿意在某种程度上改变我在全球范围内的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():-)是的!
试试这个解决方案: http : //www.codeproject.com/KB/cs/Change_App_Culture.aspx