C# - Math.Runde
Ich versuche zu verstehen, wie zu Runden auf den nächsten Zehntel-position mit C#. Zum Beispiel habe ich einen Wert von Typ double. Dieses Doppel ist derzeit gesetzt, 10.75. Ich muss jedoch Runde und dann truncate alles vorbei Zehntel position. In diesem Fall Suche ich einen Wert von 10,8. Wie kann ich Runde auf die Zehntel-position in C#?
Danke!
Da Sie offensichtlich wissen über die Mathematik.Runde, klingt es irgendwie nicht für Sie arbeiten. Kannst du zeigen, was du versucht hast und erklären wie es anders aus, was Sie erwartet?
InformationsquelleAutor Villager | 2009-10-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der zweite parameter ist die Anzahl der Dezimalstellen zu Runden. In Ihrem Fall, dass Sie wollen 1 Dezimalstelle als Endergebnis.
InformationsquelleAutor Roatin Marth
Müssen Sie einfach zu verwenden, die überladung von
Math.Runde
, nimmt diedecimals
parameter.Nur zum Vergleich:
InformationsquelleAutor Noldorin
Da Sie Verwendet werden
Math.Round()
im Titel, ich nehme an du hast schon versucht die grundlegendenMath.Round(10.75,1)
Ansatz, und es gibt etwas, das Sie nicht erwarten. Mit dem im Verstand, empfehle ich einen Blick auf einige der verschiedenen überladungen für die Funktion, speziell eine, die akzeptiert eineMidPointRounding
enum:http://msdn.microsoft.com/en-us/library/f5898377.aspx
"Standard-Mathe-Verhalten" tatsächlich abhängig vom Kontext ganz ein bisschen für diese.
InformationsquelleAutor Joel Coehoorn
Tun, die Sie wirklich brauchen, um, oder können Sie nur formatieren für den Druck, erlauben aber die variable selbst zu halten, seine Präzision? So etwas wie:
InformationsquelleAutor Bill the Lizard
Wenn Sie wollen einfach nur "cut" alles, was nach der ersten dezimale, dieser sollte funktionieren :
InformationsquelleAutor Toto