在值之后显示货币符号

我正在使用CultureInfo方法将所有不同的货币成功格式化为正确的格式。

但在某些例外情况下,例如欧元和瑞典克朗的货币,我需要能够在价值之后添加它们。 目前,我的CultureInfo正在按以下方式格式化它们:“SEK 1.00,00”,当它需要“1.00,00 SEK”时。

任何帮助表示赞赏。

您所需要的只是更改文化的NumberFormatInfo.CurrencyPositivePatternNumberFormatInfo.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。

更多信息https://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.currencynegativepattern(v=vs.110).aspx