ASP.NET服务器端文化

时间:2009-07-07 18:58:04

标签: asp.net globalization

我有一个在英美ASP.NET服务器上运行的应用程序(Windows服务器和.NET Framework的英文版)。 我将全球化设置设置为:

<globalization culture="auto" uiCulture="auto" responseEncoding="utf-8"/>

适用于大多数应用程序。但是,我必须处理该应用程序中的货币交易,我需要提供0.00格式的数字(不是0,00)。 我们的大多数用户使用来自使用0,00的文化的应用程序。

我发现即使使用Decimal.ToString("0.00"),法语浏览器上的小数仍然打印为0,00。

处理该问题的正确方法是什么? 我是否应该更改我需要处理数字的功能的当前文化,以便暂时将其设置为EN-US? 如果我使用Decimal.ToString("0.00", NumberFormatInfo.InvariantInfo)

,我会始终获得正确的格式吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

您可以通过设置更改大多数文化信息。您需要的具体设置是:

Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyDecimalSeparator = "."

答案 1 :(得分:1)

改变每个变量的文化太痛苦了。 尝试使用Thread文化信息。类似的东西:

CultureInfo MyCulture = new CultureInfo("fr-FR");
Thread.CurrentThread.CurrentCulture = MyCulture;

您可以在global.asax,用户登录或母版页面级别设置此配置。

最佳