如何更改.net Web应用程序中的默认文化设置?

时间:2009-07-22 18:44:26

标签: c# windows internationalization

我们的网络应用程序(.net / C#)使用amount.ToString(“c”)格式化货币金额,显示为本地化为几个不同的区域。

我们的法国Candian用户更喜欢所有金额为美国格式(123,456.99对比fr-CA的默认窗口方式为123 456,99)。

处理这个问题的最佳方法是什么?我可以在Windows中为fr-ca简单地修改每个网络服务器上的区域设置吗?或者我是否需要创建自定义文化?

3 个答案:

答案 0 :(得分:2)

您可能希望了解如何创建自定义文化,提供您需要的混合格式规则。 There is an article at MSDN describing how to do it

简而言之,您创建一个CultureAndRegionInfoBuilder对象,定义名称,设置属性并注册它。查看文章了解详情。

答案 1 :(得分:1)

您可以像这样修改当前文化:

Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA")

你可以从web.config中提取值,当然。

编辑:

好的,抱歉我误解了。

这可能有效:

  decimal d = 1232343456.99M;
  CultureInfo USFormat = new CultureInfo("en-US");      
  Console.Out.WriteLine(d.ToString(USFormat));

这应该允许您在输出数字值时使用USFormat。

答案 2 :(得分:0)

我会为应用程序创建一个用户设置,为每个用户保存CultureInfo,并创建一个表单以允许每个用户编辑属性....