runden
-
welche funktion muss ich denn benutzen um zu runden? in der vc++6 hilfe steht eine drin
round(double bla, int stellen); //oder so
aber scheinbar ist die die in cmath definiert ist ist einfach round(double).
round(double) ist aber nicht was ich suche. ich hätts gern "richtig" gerundet, also so dass 1,4 -> 1 und 1,5-> 2. round(double) rundet immer auf...
-
1. Caste das ganze einfach, dann wirds zwar auch nich klappen, oder mach
2. wenns immer aufrundet dann zieh doch einfach 0,5 ab und runde dann! dann DÜRFTE es eignlich klappen... sonst
3. sollte es abrunden dann addiere 0.5 und runde dann!
-
das problem is das
round(5.8) == 6
und
round(5.002) == 6
-
berdl.de schrieb:
1. Caste das ganze einfach, dann wirds zwar auch nich klappen, oder mach
2. wenns immer aufrundet dann zieh doch einfach 0,5 ab und runde dann! dann DÜRFTE es eignlich klappen... sonst
3. sollte es abrunden dann addiere 0.5 und runde dann!lieber in die faq schaun
http://www.c-plusplus.net/forum/viewtopic.php?t=39342&sid=6892e42769216a3463ad8607c147069b
-
jaja die faq
... wie ich sie nie mit dem gebührenden respekt behandle
double Round(double Zahl, int Stellen) { double v[] = { 1, 10, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8 }; return floor(Zahl * v[Stellen] + 0.5) / v[Stellen]; }
-
Hi,
ich bin zwar noch Anfänger, doch in einem Buch habe ich folgenden Manipulator kennengelernt (ich weiß, aber ich kenne keine Funktion):setprecision(int n) //setzt Genauigkeit auf n
Das heißt, wenn die Genauigkeit auf 3 ist, wird bei Eingabe der Zahl 12.34 aufgerundet, und zwar auf 12.3.
setprecision(3) cout << 12.34; //Ausgabe: 12.3
Ich weiß nicht, ob das das Richtige ist, was du suchst. Aber vielleicht hilfts.
-
er hat schon gefunden, was er suchte.. schau dir den artikel in der faq an.
es geht um runden, wie es in der schule gerne gelernt wird, auf und abrunden.
so long.