ASP.NET 服务器端文化

发布于 2024-07-26 03:45:59 字数 555 浏览 2 评论 0原文

我有一个在美国英语 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) ,我总是能得到正确的格式吗?

谢谢!

I have an application that runs on an English-US ASP.NET server (English installation of windows server and .NET Framework).
I set the globalization settings to :

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

which works fine for most of the application. However, I have to deal with money transactions in that application and I need to provide the numbers in the 0.00 format (not 0,00).
Most of our users use the application from a culture that uses 0,00.

I found out that even when using Decimal.ToString("0.00") the decimals were still being printed as 0,00 on french browsers.

What's the correct way of dealing with that issuue?
Should I change the current culture for the function where I need to deal with numbers to set it to EN-US for the time being?
Will I always get the right format if I use Decimal.ToString("0.00", NumberFormatInfo.InvariantInfo) ?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

半寸时光 2024-08-02 03:45:59

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

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

You can change most culture information by setting it. The specific setting you want is:

Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyDecimalSeparator = "."
鸠魁 2024-08-02 03:45:59

改变每个变量的文化都太痛苦了。
尝试使用线程文化信息。 类似于:

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

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

最好的

Change culture on every variable is too painful.
Try use the Thread culture info. Something like:

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

You may set this configuration at global.asax, at the user login or at master page level.

Best

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文