Un sacco di persone stanno sostenendo si utilizza la matematica libreria per arrotondare il numero, ma anche quello può causare errori di arrotondamento molto piccoli. Math.Round può, e talvolta restituisce numeri con un numero di zeri finali e errori di arrotondamento molto piccoli. Questo perché internamente i float e i double vengono rappresentati come numeri binari e quindi può essere spesso difficile rappresentare alcuni piccoli numeri decimali in modo pulito.
La soluzione migliore è quella di uno solo formattazione uso stringa o, se si vuole che in realtà intorno, combinare le due cose:
Math.Round(val, 2).ToString("0.00")
Perché c'è una grande taglia come su una questione come questa? – zxgear
E perché così tanti upvotes su una risposta che arrotonda solo a numeri interi, quando la domanda dà un esempio con due cifre decimali? – CupawnTae
@JohnH Sembra che il poster di taglie abbia fatto baldoria durante la scorsa settimana. – OhBeWise