我正在使用CultureInfo方法成功地将所有不同的货币格式化为正确的格式。显示值后的货币符号
但是在一些例外情况下,例如欧元和瑞典克朗的货币,我需要能够在价值之后添加它们。目前,我的CultureInfo正在以如下方式格式化它们:“SEK 1.00,00”,当它需要“1.00,00 SEK”时。
任何帮助表示赞赏。
我正在使用CultureInfo方法成功地将所有不同的货币格式化为正确的格式。显示值后的货币符号
但是在一些例外情况下,例如欧元和瑞典克朗的货币,我需要能够在价值之后添加它们。目前,我的CultureInfo正在以如下方式格式化它们:“SEK 1.00,00”,当它需要“1.00,00 SEK”时。
任何帮助表示赞赏。
您只需要更改文化的NumberFormatInfo.CurrencyPositivePattern
和NumberFormatInfo.CurrencyNegativePattern
属性。
只是克隆的原始文化:
CultureInfo swedish = new CultureInfo("sv-SE");
swedish = (CultureInfo)swedish.Clone();
swedish.NumberFormat.CurrencyPositivePattern = 3;
swedish.NumberFormat.CurrencyNegativePattern = 3;
然后
var value = 123.99M;
var result = value.ToString("C", swedish);
应该给你想要的结果。这应该让你:
123,99 KR
是大致CurrencyNegativePattern小心
此代码
CultureInfo swedish = new CultureInfo("sv-SE");
swedish = (CultureInfo)swedish.Clone();
swedish.NumberFormat.CurrencyPositivePattern = 3;
swedish.NumberFormat.CurrencyNegativePattern = 3;
会给你
134, 99 kr。
kr.134,99kr.-
更改CurrencyNegativePattern 8
swedish.NumberFormat.CurrencyNegativePattern = 8;
会给你
134,99 KR。
-134,99 kr。
是的作品!感谢Alex。只是为了让我明白你做了什么。我所需要的只是添加CurrencyPositivePattern和CurrencyNegativePattern方法来将货币符号移动到最后? – R100 2011-03-11 12:47:57
@ R100:是的,但这些是'NumberFormatInfo'类的属性(不是方法)。 – Alex 2011-03-11 12:51:25