ASP.NET 服务器端文化
我有一个在美国英语 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以通过设置来更改大多数文化信息。 您想要的具体设置是:
You can change most culture information by setting it. The specific setting you want is:
改变每个变量的文化都太痛苦了。
尝试使用线程文化信息。 类似于:
您可以在 global.asax、用户登录或母版页级别设置此配置。
最好的
Change culture on every variable is too painful.
Try use the Thread culture info. Something like:
You may set this configuration at global.asax, at the user login or at master page level.
Best