Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Aufrunden - Ganze Zahl

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
30.04.2005, 14:51 Uhr
Ocrana



Hallo,

ich habe folgendes Problem:

ich bekomme Zahlen wie 9.75 aus einer Function. Diese muss ich aber korrekt runden. Alles was ich bisher gefunden habe, rundet? 9.75 immer auf 9. Ich möchte es aber mathematisch korrekt auf 10 haben.

Kann mir hier jemand helfen?

Ocrana
--
-=ShrinkTo5 - The DVDShrink alternative=-
--=http://www.shrinkto5.com=--

Dieser Post wurde am 30.04.2005 um 14:52 Uhr von Ocrana editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.04.2005, 15:07 Uhr
~gast123
Gast


probier mal double ceil(double zahl)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.04.2005, 15:29 Uhr
Ocrana



leider auch 9
--
-=ShrinkTo5 - The DVDShrink alternative=-
--=http://www.shrinkto5.com=--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.04.2005, 15:48 Uhr
Tommix



Hallo,

C++:
int i = static_cast<int>(d+0.5);


- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
30.04.2005, 15:49 Uhr
Spacelord
Hoffnungsloser Fall


Das erreichst du indem du zu dem Ergebniss 0.5 dazu addierst(oder bei negativem Ergebniss subtrahierst!) und dann nach int castest wodurch die Nachkommastellen wegfallen.

Also:
5.49: 5.49 + 0.5 = 5.99 ->gecastet auf int = 5 also korrekt.
5.50: 5.50 + 0.5 = 6.00 ->gecastet auf int = 6 also korrekt.
5.51: 5.51 + 0.5 = 6.01 ->gecastet auf int = 6 also korrekt.

MfG Spacelord

EDIT:Na da war ich wohl mal wieder zu langsam
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.

Dieser Post wurde am 30.04.2005 um 15:50 Uhr von Spacelord editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
30.04.2005, 16:35 Uhr
Spacelord
Hoffnungsloser Fall


Das hier war eigentlich ne Antwort auf nen Post von Flo.
Den hat er aber wieder rausgenommen

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.

Dieser Post wurde am 30.04.2005 um 16:37 Uhr von Spacelord editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.05.2005, 01:13 Uhr
Ocrana



Tommix, danke. Dein Tip hat geholfen.
--
-=ShrinkTo5 - The DVDShrink alternative=-
--=http://www.shrinkto5.com=--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
01.05.2005, 09:01 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat von Spacelord:
Das hier war eigentlich ne Antwort auf nen Post von Flo.
Den hat er aber wieder rausgenommen

MfG Spacelord

warste zu fix hab mal wieder erst gepostet und dann nachgedacht und dann sofort wieder entfernt
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
01.05.2005, 10:07 Uhr
Spacelord
Hoffnungsloser Fall



Zitat von Ocrana:
Tommix, danke. Dein Tip hat geholfen.


Die Lösung von Tommix schlägt bei negativen Werten fehl.
Diesen Fall musst du abfangen.


C++:
int i = static_cast<int>(d>0?(d+0.5):(d-0.5));



MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
01.05.2005, 12:49 Uhr
Tommix



@Spacelord:
Du bist ja bloß neidisch

Genaugenommen muß man noch den Fall, daß der Bruchteil genau 0.5 beträgt, gesondert betrachten. Dann wird nämlich in Richtung der nächsten geraden Zahl ab- oder aufgerundet.

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: