float Wert auf den nahesten integer Wert runden
-
Hallo, gibt es eine Funktion womit ich einen float Wert auf den nahesten integer Wert runden kann?
Wenn ich z.b. habe: float var= 138.500000;
Dann müsste der naheste integer Wert ja 139 sein.
-
138 ist genauso nah!
Aber bist du schon mal auf die Idee gekommen, dass die Funktion vielleicht round heißen könnte?
Siehe: https://en.cppreference.com/w/c/numeric/math/round
-
@wob sagte in float Wert auf den nahesten integer Wert runden:
138 ist genauso nah!
Stimmt. Gibt es denn einen Grund, warum die meisten lieber aufrunden möchten?
-
@rapper sagte in float Wert auf den nahesten integer Wert runden:
Stimmt. Gibt es denn einen Grund, warum die meisten lieber aufrunden möchten?
Konvention.
https://de.wikipedia.org/wiki/Rundung
In dem Zusammenhang interessant der Abschnitt zu Symmetrisches Runden.
War mir bisher selbst noch nicht bekannt.
-
@scrontch sagte in float Wert auf den nahesten integer Wert runden:
https://de.wikipedia.org/wiki/Rundung
In dem Zusammenhang interessant der Abschnitt zu Symmetrisches Runden.
War mir bisher selbst noch nicht bekannt.War mir auch nicht bekannt. Also kaufmännisches Runden kann Statistiken geringfügig "verzerren" und mit symmetrischem Runden wird der systematische Fehler vermieden? Also bei Gleitkommazahlen und "verzerren" habe ich das Gefühl, dass sich vor allem andere Fragen stellen (siehe z.B. Numerische Ungenauigkeiten abschätzen und vergleichen). Und wie oft kommt es schon vor, dass eine Gleitkommazahl eine Ziffer 5 gefolgt von Nullen oder als letzte Ziffer eine 5 enthält?
Edit 1: Bei einer Statistik würde ich kaufmännisches und symmetrisches Runden anwenden und dann die Differenz berechnen.
Edit 2: Also bei einer von 10 Zufallszahlen stimmt es höchstens bei der letzten Ziffer, wird nicht auf die zweitletzte Ziffer gerundet, müssten die nachfolgenden Ziffern alle 0 sein, damit der "systematische Fehler" durchschnittlich in einem von 10 Fällen vorkommt.