7

我正在使用基础设施网络网格,需要格式化货币字符串。为此,我需要一个包含诸如“$ ### ###,00”之类的模式的字符串,并且我希望它来自我当前的 CultureInfo。我怎样才能做到这一点?我是否需要从以下信息中手动编写它:

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

等等等等

是单线解决方案吗?

4

5 回答 5

11
decimal moneyvalue = 1921.39m;
string s = String.Format("{0:C}", moneyvalue);

将使用当前区域性。

确保您的 web.config 中有以下内容:

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

或如 ck 建议的那样,在您的页面中声明等价物

于 2009-04-17T07:50:21.953 回答
1

感谢您的所有回答。事实证明我的要求是错误的。infragistics 网格不希望模式字符串知道使用哪些分隔符,它将模式字符串用于小数等,然后查询当前文化的其余部分。所以这不是问题。不管怎么说,还是要谢谢你!

于 2009-04-28T11:52:43.637 回答
0

添加到 Greg Dean 的答案中,您可能需要

Culture="auto" UICulture="auto"

在页面的@Page 声明中。

于 2009-04-17T07:52:47.110 回答
0

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

自定义数字格式字符串没有货币标记;但是,我怀疑您可以将货币符号附加到使用“### ###,00”格式化的字符串中。

于 2009-04-17T07:52:47.283 回答
0

我们的项目中有几乎相似的要求。我们所做的是使用基础设施的 webcurrencyedit 控件,将其设置为必须显示货币的列的 editorcontrolid,然后设置 webcurrencyedit 控件的文化。

于 2009-06-30T07:41:37.993 回答