2011-01-07 19 views
0

Jemand hat eine Idee, wie kann ich doppelte Werte automatisch auf 2 Dezimalstellen runden? Ich habe eine Anwendung, die einige einfache Berechnungen an vielen Stellen durchführt und irgendwann bekomme ich Zahlen mit vielen Dezimalzahlen wie 21.248123. Gibt es eine Möglichkeit, .NET zu spezifizieren, um an jedem Ort nur 2 Dezimalzahlen zu verwenden (über CultureInfo vielleicht?).Automatische Rundung von Doppelwerten

Dank

Antwort

4

Sie können dies zumindest tun, wenn durch die Verwendung myDouble.ToString("0.00") die Nachricht an den Benutzer anzuzeigen. Wenn Sie den Wert selbst runden möchten, verwenden Sie Math.Round(myDouble,2).

Beachten Sie, dass selbst dann, wenn die double Runde, könnte man viele Dezimalstellen aufgrund Gleitkomma aritmetics bekommen, so würde ich die ehemalige ToString Variante unabhängig verwenden, wenn der Wert für den Benutzer, um sicherzustellen, dass es mit nur zwei Dezimalstellen angezeigt wird .

+0

Ich kenne ToString Überladungen. Das ist nicht, was ich suche, aber trotzdem danke – Davita

+0

Siehe die Math.Round auch. Sie können das Double tatsächlich nicht zwingen, zwei Ziffern hinter dem Dezimaltrennzeichen tatsächlich zu enthalten. Wenn Sie diese Art der Handhabung benötigen, kann ich Ihnen mit der Dezimalklasse helfen. –

+0

Das habe ich vermutet. Vielen Dank :) – Davita