У нас есть большой проект 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" )... есть ли лучший способ? Моя первая мысль состояла в том, чтобы просто изменить наш язык в Австралии, но понял, что форматирование даты будет испорчено.