Autor Beitrag
McManiaC
Hält's aus hier
Beiträge: 12



BeitragVerfasst: So 05.10.03 13:15 
Da ich keine Ahnung hab, in welches Unterforum sowas gehört, stell ich hier mal meine Frage:

Kann man irgendwie einen Double (bzw. eine normale Fließkommazahl) in Zeit (TTime und/oder TDateTime) umrechnen? Mein Taschenrechner z.B. rechnet "3,2727272727..." per Knopfdruck in "3:16:21" um (h:mm:ss). Geht das mit Delphi?

Sorry, wenn die Frage schon mehrfach hier vorkam, ich hab scho gsucht, aber entweder ich bin zu dumm und hab nix gfunne oder es gibt wirklich nix zu dem Thema ;)



Gruß, McManiaC
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: So 05.10.03 17:52 
Ich weiß nicht, ob es dafür eine spezielle Funktion gibt, aber ich würde es einfach mal von Hand probiern:
Die Vorkommastellen sind ja die Stunden, die hast Du also schon (mit Trunc kriegst Du die glaub ich, das schneidet Nachkommastellen ab). Die Nachkommastellen kriegst Du dann, indem Du die Stunden abziehst.

Diese Zahl (in diesem Fall 0,2727...) multiplizierst Du mit 60, die Vorkommastellen sind damit wieder die Minuten, die Nachkommastellen multiplizierst Du wie oben mit 60 und hast die Sekunden.

Das is jetzt von Hand, aber kann grad net nachschauen, ob's schon eine Funktion dafür gibt ;-)
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: So 05.10.03 18:18 
Hallo
ausblenden Delphi-Quelltext
1:
2:
3:
  label1.Caption := FormatDateTime('hh:mm:ss',3.2727272727 / 24);
oder
  label1.Caption := FormatDateTime(LongTimeFormat,3.2727272727 / 24);

geht auch. Du mußt dir nur im klaren sein, was deine 3.27 darstellt (stunden) und das in einen Tdatetimewert umrechen (/24)

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
McManiaC Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Mo 06.10.03 16:02 
Danke...

@UGrohne: Yep, so hatte ich es auch zuerst. Allerdings erspart mir letztere Version doch einiges an schreibarbeit und is auch sonst viel besser... ;)



Gruß, McManiaC
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mo 06.10.03 16:05 
Jupp, stimmt, die Funktion ist mir zu dem Zeitpunkt nicht eingefallen, aber in dem Moment, als Kel sie präsentierte hatte ich den Geistesblitz ;-)