代码之家  ›  专栏  ›  技术社区  ›  Mr W

asp.net中的货币格式字符串

  •  7
  • Mr W  · 技术社区  · 16 年前

    我是否需要根据以下信息手动编写:

    CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyGroupSeparator
    CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyGroupSizes
    CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyDecimalDigits
    CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyDecimalSeparator
    

    等等 等等 等等

    是单线解决方案吗?

    5 回复  |  直到 16 年前
        1
  •  11
  •   Greg Dean    16 年前
    decimal moneyvalue = 1921.39m;
    string s = String.Format("{0:C}", moneyvalue);
    

    将使用当前的文化。

    确保在web.config中包含以下内容:

    <system.web>
       <globalization culture="auto" uiCulture="auto"/>
    </system.web>
    

    或者按照ck的建议,在您的页面中声明等效内容

        2
  •  1
  •   Mr W    16 年前

    谢谢你的回答。 事实证明,我的要求是错误的。infragistics网格不希望模式字符串知道使用了哪些分隔符,它将模式字符串用于小数等,然后查询其余部分的当前区域性。 所以这不是问题。

        3
  •  0
  •   cjk    16 年前

    除了Greg Dean的回答,你可能还需要

    Culture="auto" UICulture="auto"
    

    在页面的@Page声明中。

        4
  •  0
  •   Marc Gravell    16 年前

    首先,如果你是特定于文化的,为什么不直接使用“C”作为格式字符串,从而使用文化的货币格式。

    Custom numeric format strings 没有货币代币;然而,我怀疑你可以只是附加 currency symbol 使用“######,00”格式化后得到的字符串。

        5
  •  0
  •   azazel77 azazel77    16 年前

    我们的项目几乎有类似的要求。