The currency symbol is determined by CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol. The property is read / written, but you will probably get an exception if you try to change it, because NumberFormatInfo.IsReadOnly will be true ...
Alternatively, you can format the number explicitly using a specific NumberFormatInfo:
NumberFormatInfo nfi = (NumberFormatInfo)CultureInfo.CurrentCulture.NumberFormat.Clone(); nfi.CurrencySymbol = "$"; String.Format(nfi, "{0:C}", item.Amount);
source share