Rundungsproblem
Wenn ich die Zahl 0.725 mittels Math.Round(, 2) runde
kommt 0.72 und nicht wie ich erwartet hatte 0.73 heraus. Wie kann man das Ändern? |
Re: Rundungsproblem
hallo neo,
ich glaub das ist mathematisch richtig es wir immer zur geraden zahl gerundet. bei 0.725 zur 0.72 bei 0.735 zur 0.74 raik |
Re: Rundungsproblem
das ist mathematisch falsch gerundet!
was kommt den bei 0,726 raus? rechne doch:
Delphi-Quellcode:
gruss,
math.round(zahl + 0,005, 2)
iaby |
Re: Rundungsproblem
Zitat:
Suche mal hier nach [dp]kaufmännisch runden[/dp] Edit: Mist, ist ja die .NET Sparte, sorry, dann hab ich keine Ahnung. :duck: |
Re: Rundungsproblem
Eigentlich ab x.5 zu x+1 und unter x.5 zu x.
Aber floats könnten da etwas "garstig" sein, so dass 0.725 eigentlich als 0.7249999999... dargestellt werden muss, und schon isses passiert. Lösen kann man das nur, wenn man eine gewisse Ungenauigkeit hin nimmt, indem man explizit sagt x.y5 := x.y5000001 oder so. |
Re: Rundungsproblem
Übrigens, wie man rundet war mir klar!
Aber ich dachte man kann das Runden in .NET ähnlich steuern wie in Delphi32. Ich habe mir jetzt selbst eine kleine Runden Funktion geschrieben. |
Re: Rundungsproblem
Zitat:
Edit: Sorry, ist zwar kein deutsch, aber ich hoffe, du weißt, was gemeint ist. :mrgreen: |
Re: Rundungsproblem
Moin moin zusammen,
ja das gute alte Rundungsproblem, gab´s schon auf dem C64 mit CP/M-Modul und Turbo-Pascal. Mit den Float oder Extendet als Datentyü gibt es da schon ab und an mal kleine Überaschungen. Theoretisch könnte man da jetzt mit eigens gestrickter BCD-Arithmetik herangehen, aber das ist zum Glück inzwischen nicht mehr nötig... Nimm mal als Datentyü "Currrency", da sollte es kaufmänsich korrekt runden (ab 0.5 zu 1.0). Viele Grüße // Martin |
Re: Rundungsproblem
rauskommen sollte .3 ;)
|
Re: Rundungsproblem
machs so:
Delphi-Quellcode:
is zwar blöd, sollte aber funzen :-D
x:=rnd(x*100) / 100
das ganze könnte man s machen, das er statt 100 10 hoch anzahl derNachkommastellen -1 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz