3

我有一个在英美 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)吗?

谢谢!

4

2 回答 2

2

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

Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyDecimalSeparator = "."
于 2009-07-07T19:30:50.873 回答
1

改变每个变量的文化太痛苦了。尝试使用线程文化信息。就像是:

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

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

最好的

于 2009-07-07T19:05:28.930 回答