Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Float to Seconds
LittleBen - Mo 22.08.11 17:21
Titel: Float to Seconds
Hallo,
bei dieser Umrechnung stehe ich gerade auf dem Schlauch:
Eine Float-Variable beinhaltet den Wert
3,23. Das soll in Minuten
3:23 ergeben. Jedoch brauche ich das ganze in Sekunden, aber in einen Integer! Also
3,23*60. Die ganze Berechnung würde ja nur mit Round, Trunc etc. funktionieren, doch einen gerundeten Wert kann ich nicht gebrauchen.
Habt ihr eine Lösung, wie ich
3,23 in
3:23 bekomme?
Vielen Danke!
Benny
Moderiert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Di 23.08.2011 um 09:35
FinnO - Mo 22.08.11 17:35
Moin,
mal ohne das ausprobieren zu können: 3,23 in 3:23:
Erstmal würde ich die zahl abrunden:
Delphi-Quelltext
1:
| minutes := floor(3.23) |
diese Zahl zieht man von der ersten Zahl ab und multipliziert sie mit 100:
Delphi-Quelltext
1:
| seconds := (3.23 - minutes)*100; |
die ausgabe sollte man dann hinkriegen.
LittleBen - Mo 22.08.11 17:42
Seconds ist doch kein Integer? :gruebel:
FinnO - Mo 22.08.11 19:00
wieso nicht? Wenn kein Integer, dann zumindest eine ganze zahl und die kann man formell runden...
BenBE - Mo 22.08.11 20:33
Delphi-Quelltext
1:
| Result := 100*Frac(X) + 60*Floor(X); |
buster - Di 23.08.11 07:01
...mal ganz davon abgesehen, dass 3,23 Minuten nicht 3 Minuten und 23 Sekunden sind... es sei denn, die Eingabe ist so gewollt, dann darfst du aber keine Werte > 59 in den Nachkommastellen zulassen ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!