I am using CultureInfo methods to successfully format all different currencies into their correct format.
But on some exceptions, such as EUR and SEK currencies I need to be able to add them after the value. At the moment my CultureInfo is formatting them in the following way: "SEK 1.00,00" when it needs to be "1.00,00 SEK".
Any help is appreciated.
All you need is to change the NumberFormatInfo.CurrencyPositivePattern
and NumberFormatInfo.CurrencyNegativePattern
properties for the culture.
Just clone the original culture:
CultureInfo swedish = new CultureInfo("sv-SE");
swedish = (CultureInfo)swedish.Clone();
swedish.NumberFormat.CurrencyPositivePattern = 3;
swedish.NumberFormat.CurrencyNegativePattern = 3;
and then
var value = 123.99M;
var result = value.ToString("C", swedish);
should give you desired result. This should get you:
123,99 kr