Stolperfallen in .NET
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
annahme
bewahren
fehler
feststelle
frage
funktion
geraden zahl
http
methode
schrecken
stolperfallen
system
url
-
Hallo,
letztens musste ich mit Schrecken feststellen, dass die Funktion Math.Round nicht kaufmännisch rundet, sondern immer zur nächsten geraden Zahl.
Heißt, dass wenn man Math.Round(8.5) ausführt, die Methode 8 zurückgibt und nicht, wie man es gewohnt ist 9.
Die Funktion Round besitzt eine Überladung, der man noch einen MidpointRounding Wert übergeben kann. Dieser muss man MidpointRounding.AwayFromZero übergeben, damit man kaufmännisch rundet und nicht zur nächsten geraden Zahl.
Link zu MSDN: http://msdn.microsoft.com/de-de/library/system.math.round(v=vs.110).aspx
Ich hoffe ich konnte euch damit davor bewahren diesen Fehler bei euch einzubauen, denn wenn man dadurch Rundungsdifferenzen hat, wird es echt schwer herauszufinden, woher diese stammen.
Nun hab ich aber noch eine Frage: Kennt ihr noch weitere Stolperfallen, bei denen die erste Annahme die falsche ist und man dadurch ein unerwartetes Verhalten kriegt?
Gruß Ch3sta -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage