Double auf int runden?
-
Hi,
stellt math.h (o.ä.) wirklich keine Funktion bereit einen Double gerundet in einen int zu konvertieren?
Indem man x-floor(x) und ceil(x)-x vergleicht, und das x des größeren Wertes zurückgibt, ist sowas natürlich gleich geschrieben, aber habe ich da nicht was übersehen? (d.h. gibts so eine Funktion nicht schon standardmäßig irgendwo?)
rabbit
-
double d = 3.54; int x = int(d + 0.5);
-
Guck mal ins faq, da is ne handliche Funktion.
@0xdeadbeef:int x=d<0?d-.5:d+.5
-
Ahja thx, genau sowas einfaches hab ich gesucht!
Irgendwie denk ich irgendwie völlig ineffizient
Naja bin ja schon stolz auf mich, das OOP-Konzept soweit verstanden zu haben, dass ich mit Vererbung, mit public/private/protected usw. was anfangen kann - jetzt muss nur noch ein bisserl effizienteres Programmieren dazu kommen
rabbit
-
static_cast<int>(rint(5.467));
-
rint ist BSD, nicht ANSI. Gibts also nicht auf allen Plattformen.