Abbiamo un grande progetto ASP.NET MVC in cui tutti i numeri emessi sullo schermo sono formattati come valuta (cioè ToString ("c"). Tuttavia, i numeri negativi vengono visualizzati con () 's. ad esempio:Formato a variazione globale dei numeri di valuta negativi in C#
decimal d = -8.88m;
Console.WriteLine(d.ToString("c"));
//outputs $(8.88)
questo è un po' fastidioso per i nostri utenti, soprattutto perché ci sono in caselle di testo abbiamo qualche migliaio di posti in cui inviamo campi di valuta alla schermata come questa, così abbiamo.' Adoro un modo per cambiare la formattazione a livello globale. C'è uno? Tutti i metodi che ho visto indicano che devi creare un nuovo formattatore, simile a questo:
string curCulture = System.Threading.Thread.CurrentThread.CurrentCulture.ToString();
System.Globalization.NumberFormatInfo currencyFormat =
new System.Globalization.CultureInfo(curCulture).NumberFormat;
currencyFormat.CurrencyNegativePattern = 1;
Preferiremmo non cambiare tutti i nostri metodi ToString ("c") ... c'è un modo migliore? Il mio primo pensiero è stato quello di cambiare il nostro locale in Australia, ma ho capito che la formattazione della data sarebbe stata rovinata.
Ha funzionato! Grazie! –