У нас есть большой проект ASP.NET MVC, где все числа, выводимые на экран, отформатированы как валюта (т. Е. ToString ("c"). Однако отрицательные числа отображаются с (). Например:
decimal d = -8.88m;
Console.WriteLine(d.ToString("c"));
//outputs $(8.88)
Это немного раздражает наших пользователей, особенно потому, что они есть в текстовых полях. У нас есть несколько тысяч мест, где мы отправляем валютные поля на экран, как это, поэтому мы хотели бы изменить глобальное форматирование. Есть один? Все методы, которые я видел, указывают на то, что вам нужно создать новый форматер, похожий на этот:
string curCulture = System.Threading.Thread.CurrentThread.CurrentCulture.ToString();
System.Globalization.NumberFormatInfo currencyFormat =
new System.Globalization.CultureInfo(curCulture).NumberFormat;
currencyFormat.CurrencyNegativePattern = 1;
Мы бы предпочли не менять все наши методы ToString ("c") ... есть ли лучший способ? Моей первой мыслью было просто изменить наш язык на Австралию, но я понял, что форматирование даты будет испорчено.