C# doubles 显示逗号​​而不是句点

标签 c# currentculture

我和这个帖子里的人几乎有同样的问题:

Convert Float that has period instead of comma?

所以我的

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)

在您确定的程序部分,您需要使用小数点而不是逗号或其他区域设置相关的小数点分隔符。

希望对您有所帮助。

关于C# doubles 显示逗号​​而不是句点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/518625/

相关文章:

c# - Google API Ver 2 中的可恢复文件上传

c# - 为什么当我设置 CurrentCulture 时时区没有改变?

silverlight - Silverlight 中的默认字符串格式

c# - 我什么时候应该使用中性文化?它有什么必要?为什么不强制使用特定文化?

JavaScript:从文化设置中获取日期格式

c# - Visual Studio 2008 - 在 C++/C# 多项目解决方案中共享数据

c# - 在 switch 语句中,有什么方法可以引用被切换的值吗?

c# - 关于 C# RFID 线程的问题

c# - 如何围绕私有(private)方法编写单元测试

c# - "8"的 int.Parse 失败。 int.Parse 总是需要 CultureInfo.InvariantCulture?