我使用的是infragistics webgrid,需要格式化货币字符串。为此我需要一个包含模式的字符串,例如“$ ### ###,00”,我希望这可以从我目前的CultureInfo中找到。我怎样才能做到这一点? 我是否需要从以下信息手动撰写:
CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyGroupSeparator
CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyGroupSizes
CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyDecimalDigits
CultureInfo.CreateSpecificCulture(myLanguageId).NumberFormat.CurrencyDecimalSeparator
等 等等 等
是单线解决方案吗?
答案 0 :(得分:11)
decimal moneyvalue = 1921.39m;
string s = String.Format("{0:C}", moneyvalue);
将使用当前的文化。
确保您的web.config中包含以下内容:
<system.web>
<globalization culture="auto" uiCulture="auto"/>
</system.web>
或者ck建议,在你的页面中声明等效词
答案 1 :(得分:1)
感谢您的所有答案。 事实证明我的要求是错误的。 infragistics网格不希望模式字符串知道哪些分隔符使用,它使用模式字符串表示小数等,然后查询当前文化中的其余文件。 所以这不是问题。 不管怎样,谢谢!
答案 2 :(得分:0)
根据Greg Dean的回答,您可能需要
Culture="auto" UICulture="auto"
在页面的@Page声明中。
答案 3 :(得分:0)
首先 - 如果你是文化特定的,为什么不使用“C”作为格式字符串,因此使用文化的货币格式。
Custom numeric format strings没有货币代币;但是,我怀疑你可以将currency symbol附加到格式化为“### ###,00”的字符串中。
答案 4 :(得分:0)
我们的项目中有几乎相似的要求。 我们所做的是使用webcurrencyedit控制infragistics,将其设置为必须显示货币的列的editorcontrolid,然后设置webcurrencyedit控件的文化。