Tenemos un gran proyecto ASP.NET MVC donde todos los números que salen a la pantalla tienen el formato de moneda (es decir, ToString ("c"). Sin embargo, se muestran números negativos con) 's Por ejemplo:.Formato de cambio global de números de moneda negativos en C#
decimal d = -8.88m;
Console.WriteLine(d.ToString("c"));
//outputs $(8.88)
esto es un poco molesto para los usuarios, sobre todo porque no están en los cuadros de texto tenemos unos cuantos miles de lugares en los que enviamos campos de moneda a la pantalla de este tipo, por lo que.' Me encantaría cambiar el formato de forma global. ¿Hay alguno? Todos los métodos que he visto indican que debe crear un formateador nuevo, similar a este:
string curCulture = System.Threading.Thread.CurrentThread.CurrentCulture.ToString();
System.Globalization.NumberFormatInfo currencyFormat =
new System.Globalization.CultureInfo(curCulture).NumberFormat;
currencyFormat.CurrencyNegativePattern = 1;
Preferimos no cambiar todos nuestros métodos ToString ("c") ... ¿hay alguna otra manera mejor? Lo primero que pensé fue cambiar nuestra configuración regional a Australia, pero me di cuenta de que el formato de la fecha se estropearía.
¡Funcionó! ¡Gracias! –