在.net应用程序cultureInfo中覆盖数字格式
Posted
技术标签:
【中文标题】在.net应用程序cultureInfo中覆盖数字格式【英文标题】:overiding NumberFormat in .net application cultureInfo 【发布时间】:2009-06-26 00:53:01 【问题描述】:我有一个 .NET 应用程序,有几种不同的语言版本。我基本上在系统文化中加载和保存文件(包含双打),但我想强制使用美国文化格式(逗号作为数字分组,句点作为小数分隔符)始终显示和输入数字。我试图覆盖应用程序文化,但它似乎不起作用。 有没有办法解决这个问题?
【问题讨论】:
【参考方案1】:CultureInfo.InvariantCulture
的存在是为了以一致的格式保存数据。 More Info on MSDN
对于 UI,如果你真的希望所有格式都是美式的,你可以这样做:
Application.CurrentCulture = new CultureInfo("en-US");
请注意,您需要在每个线程上设置文化。
【讨论】:
如果我设置 Application.CultureInfo = InvariantCulture 会破坏 UI 吗? 我想我误解了你。 InvariantCulture 的目的是以与文化无关的方式存储双打;它不应该用于 UI。为此,我会设置 Application.CurrentCulture = new CultureInfo("en-US").以上是关于在.net应用程序cultureInfo中覆盖数字格式的主要内容,如果未能解决你的问题,请参考以下文章
.NET 中 CultureInfo 的 CurrentCulture 和 CurrentUICulture 属性有啥区别?
是否可以为 .NET 应用程序或仅为线程设置 CultureInfo?
如何在 ASP .NET MVC 中使用 Resources 和 CultureInfo 更改站点语言?