Have you ever wondered how you can edit the “currency appearance” in the .Net ToString() method? Let’s say we have
var amount = 1337.42M; and we want it to be displayed like:
Nothing easier than that you might think. Just write:
amount.ToString("c"); and you are fine. But what is the output of our statement above (depending on your locale CultureInfo)? In my case it was:
Changing the statement to
amount.ToString("c", new CultureInfo("de-CH")); didn’t change anything.
After looking for the
decimal.ToString() method in the MSDN docs, I found the right solution. I had to use the
Decimal.ToString(String, IFormatProvider) method.
After using my custom NumberFormatInfo it was easy to display the number in the right format:
And the output was: