Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ExtendedToDouble (https://www.delphipraxis.net/78414-extendedtodouble.html)

benst 4. Okt 2006 16:56


ExtendedToDouble
 
Hi,
ist ne ganz einfache Frage... aber irgendwie bin ich selbst mit DH und DP zu ungeschickt sie zu lösen...
Wie wandel ich eine Extended- in eine Double-Zahl um?
Ben

Dax 4. Okt 2006 17:01

Re: ExtendedToDouble
 
:gruebel:

Delphi-Quellcode:
var
  d: Double;
  e: Extended;

d := e;
?

3_of_8 4. Okt 2006 17:01

Re: ExtendedToDouble
 
Das passiert implizit.

benst 4. Okt 2006 17:06

Re: ExtendedToDouble
 
Sorry, hätte mehr schreiben sollen...
Ich möchte eine berechnete Zeit speichern und mache das folgendermaßen:
Delphi-Quellcode:
save.WriteString('Save', 'Time', FloatToStr(timeOffset + now-startTime));
Wenn ich die Zeit jedoch wieder lade, ist es unter Umständen kein Double mehr.

Meine Lösungsidee:
Delphi-Quellcode:
var t: Double
...
t:=timeOffset + now-startTime;
save.WriteString('Save', 'Time', FloatToStr(t));
Was schlagt ihr vor?
Ben

3_of_8 4. Okt 2006 17:24

Re: ExtendedToDouble
 
Ich bezweifle, dass du die Genauigkeit eines Extendeds brauchst. Wenn nicht, dann bleib bei deinem Double und lass den Extended implizit casten und runden. Falls du wider Erwarten die Genauigkeit brauchst, verwende für deine Funktion einfach auch einen Extended.

benst 4. Okt 2006 17:32

Re: ExtendedToDouble
 
Wie kann ich denn DoubleToString machen?

mkinzler 4. Okt 2006 17:33

Re: ExtendedToDouble
 
Zitat:

Zitat von benst
Wie kann ich denn DoubleToString machen?

FloatToStr()

benst 4. Okt 2006 17:36

Re: ExtendedToDouble
 
Also doch mein Lösungsvorschlag, oder nicht?

mkinzler 4. Okt 2006 17:40

Re: ExtendedToDouble
 
das Float in FloatToStr meint Fließkommazahlen im Allgemeinen und nicht den Typ Float. D.h. es wird keine Rundung durchgeführt.

benst 4. Okt 2006 17:43

Re: ExtendedToDouble
 
Das ist mir schon klar...
Aber wie speichere ich einen Double am besten ab?
Meine Idee als String mit FloatToStr, wie bekomme ich dann beim Laden am besten wieder einen Doube daraus, den ich als Datum verwenden kann.

r2c2 4. Okt 2006 17:44

Re: ExtendedToDouble
 
[glaskugel]
Du willst n TDateTime in ne INI-Datei schreiben? Guck dir mal die Methode WriteDateTime() an...
[/glaskugel]

mfg

Christian

mkinzler 4. Okt 2006 17:45

Re: ExtendedToDouble
 
Warum speicherst du ihn nicht als TDateTime (Double)?

benst 4. Okt 2006 17:50

Re: ExtendedToDouble
 
ok, ist jetzt klar.
Ich muss einfach anstatt:
StrToDateTime(Extended)
StrToFloat(Extended) nehmen... Danke
Stimmt, WriteDateTime() wäre natürlich noch besser... Danke
[edit]Ja, ich verwende jetzt WriteDateTime() - hätte ich ja auch mal nach suchen können.... :)[/edit]

3_of_8 4. Okt 2006 17:56

Re: ExtendedToDouble
 
Zitat:

Zitat von mkinzler
das Float in FloatToStr meint Fließkommazahlen im Allgemeinen und nicht den Typ Float. D.h. es wird keine Rundung durchgeführt.

Den Typen "Float" gibt es IMHO nicht. Float ist eher eine Typengruppe, ähnlich wie Ordinal, String, Record und Pointer.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz