Using Razor view engine - how do I format a decimal value to have commas and two decimal places?
Can you use {0:c}
instead? This is just standard string formatting in .NET and the "c" is for currency. There are lots of standard numeric string formats. And, of course, custom formatting, too.
$ @String.Format("{0:#,##0.00}", 1005.3422)
Most of the time, when you don't get the character you're expecting with strings conversion, it can be a locale issue. For exemple, you're developing with a en-us locale, but someone comes with a fr-FR locale. Then the date, currency, etc will be formatted and parsed differently.