Hallo, ich muss ein Programm programmieren, das bei Eingabe von Sekunden, daraus die Stunden, Minuten und Sekunden berechnet. Folgende Verarbeitung bisher: Stunden = Sekunden/3600; wie geht es dass man das ausrechnet und vom ergebnis nur die stelle VOR dem komma berücksichtigt bsp: sekunden=1800 stunden = 1800/3600 =0,5 hier soll er nur die 0 berücksichtigen und nicht mit dem ,5 wert weiterrechnen Danke
Integer ist ne Ganzzahl und schleppt keine Nachkommastellen mit
Ich schmunzele :)
1 | floor(2.4) = floor(2.5) = 2 |
2 | round(2.4) = 2 |
3 | round(2.5) = 3 |
4 | ceil(2.4) = ceil(2.5) = 3 |
Das ist das Werkzeug
> Stunden = Sekunden/3600; > > wie geht es dass man das ausrechnet und vom ergebnis nur die > stelle VOR dem komma berücksichtigt Kommt auf die Programmiersprache an.
Daniel schrieb: > Ich schmunzele :) > > > [pre] > floor(2.4) = floor(2.5) = 2 > round(2.4) = 2 > round(2.5) = 3 Ja aber ich will dass bei 2,5 eben nicht auf 3 aufgerundet sondern auch auf 2 abgerundet wird. Bewirkt die ceil funktion das?
Stunden = ulTime / 3600L; ulTime -= (Stunden * 3600L); Minuten = ulTime / 60L; ulTime -= (Minuten * 60L); Sekunden = ulTime; Alles Integer Variablen. In ulTime deine Sekundeneingabe Gruss Helmi
Michael Z. schrieb: > Ja aber ich will dass bei 2,5 eben nicht auf 3 aufgerundet sondern auch > auf 2 abgerundet wird. Bewirkt die ceil funktion das? Die brauchst du doch gar nicht. Wenn Stunden eine int-Variable ist, dann kann diese per Definition keine Nachkommastellen haben. Das ist nun mal das Wesen eines int nur ganze Zahlen aufnehmen zu können. Und in jedem noch so schlechtem C-Buch steht, dass bei der Zuweisung von Gleitkommewarten an einen int die Nachkommastellen einfach abgeschnitten werden. Da wird überhaupt nicht gerundet.
> Und in jedem noch so schlechtem C-Buch steht, dass bei der > Zuweisung von Gleitkommewarten an einen int die > Nachkommastellen einfach abgeschnitten werden. Wobei hier nicht mal klar ist, ob es sich beim Eingangswert überhaupt um einen Gleitkomma-Wert handelt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.