我们的网络应用程序(.net / C#)使用amount.ToString(“c”)格式化货币金额,显示为本地化为几个不同的区域。
我们的法国Candian用户更喜欢所有金额为美国格式(123,456.99对比fr-CA的默认窗口方式为123 456,99)。
处理这个问题的最佳方法是什么?我可以在Windows中为fr-ca简单地修改每个网络服务器上的区域设置吗?或者我是否需要创建自定义文化?
答案 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,并创建一个表单以允许每个用户编辑属性....