Veröffentlicht 7. Oktober 200222 j Hallo @all Wie kann ich einen float Wert auf 2 Stellen hinter dem Komma aufrunden? Benutze den c++ dos-compiler, c++ builder von borland. Vielen Dank schonmal
7. Oktober 200222 j Versteh ich das richtig, dass du aus 1.567 -> 1.57 und aus 1.562 -> 1.56 machen willst? Goos
7. Oktober 200222 j Wenn Du wirklich aufrunden willst: double d; d *= 100.0; d = ceil( d ); d /= 100.0;
7. Oktober 200222 j auf dich goos will halt den wert 14,56666 auf 14,57 runden.. usw. danke klotzkopp, versuch deine lösung jetzt einzubauen!
7. Oktober 200222 j ...na in dem Fall wuerd ich halt ueberall 0,005 dazuaddieren und dann die Ausgabe durch ein %.2f entsprechend auf zwei Nachkommastellen abschneiden. Goos
7. Oktober 200222 j Original geschrieben von prof.inti danke klotzkopp, versuch deine lösung jetzt einzubauen! Vorsicht, diese Version rundet z.B. 3,141 zu 3,15 auf. Wenn "richtig" gerundet werden soll, muss das so aussehen: double d; d *= 100.0; d += 0.5; d = floor( d ); d /= 100.0; Oder Du machst, was Goos vorgeschlagen hat, falls Du nur die Ausgabe runden willst, um dann mit dem ungerundeten Wert weiterzuarbeiten.
7. Oktober 200222 j Des Rätsels Lösung ! double berechnekosten(float g, float rh, float rn) { double d=g+rh+rn; d *= 100.0; d += 0.5; d = floor( d ); d /= 100.0; return d; } Vielen Dank an euch beide....
7. Oktober 200222 j Wieso denn beide Varianten?....das waer doch irgendwo unsinnig ...und das letzte beispiel von Klotzkopp rundet doch entsprechend auf und ab. Goos
7. Oktober 200222 j Lösung gefunden ! Es gibt ja viele Wege nach Rom... deswegen wär ja nicht schlecht, wenn man auch die "einfache" Ausgabe nur rundet, würde ja in meinem Fall reichen, wenn es denn auf/abrunden wäre!
7. Oktober 200222 j Ja wenn du nicht damit weiterrechnest, dann reichts sicherlich, die Ausgabe zu runden Goos
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.