Typenumwandlung Integer in Float?
Verfasst: 26.02.2011 22:19
Ich habe jetzt eine Weile gesucht aber keine Funktion gefunden um Integer zu einem Float zu wandeln. Ich meine nicht umdefinieren sondern eher so eine Typumwandlung wie Str dass Zahlen zu Strings wandelt.
Ich will eigentlich nur eine Millisekundenzahl als Sekunde darstellen. Vielleicht würde es gehen wenn ich die ms von Anfang an auch als Float definiere aber es muss doch auch möglich sein ein Integer zu einem Float zu verändern.
Alternativ wäre wohl möglich einen String zu erzeugen der die Zahl angibt. Aber das ist sicher nicht optimal.
Ich habe ein wenig getestet ob es mit den Datentypen allein geht aber das Ergebnis ist nicht so wie ich dachte.
Ich übergebe der Prozedur zwar eine Ganzzahl aber die Prozedur sollte es als Float annehmen. Floats dürfen ja auch ganze Zahlen sein. Aber selbst wenn ich 13.5 an die Prozedur übergebe bekomme ich nur ein gerundetes Ergebnis.
Hingegen der zweite Codeteil mit dd als Float ergibt 6.5. Der dritte Codeteil dagegen eine 6. Und beim 4. klappt es wiederum. 6.5 ist das Ergebnis.
Wenn das mit der Prozedur funktionieren würde dann hätte man ja bereits so eine Umwandlungsfunktion wie ich suche bzw man könnte sie sich bauen. Nur irgendwie passt hier noch etwas nicht.
Ich will eigentlich nur eine Millisekundenzahl als Sekunde darstellen. Vielleicht würde es gehen wenn ich die ms von Anfang an auch als Float definiere aber es muss doch auch möglich sein ein Integer zu einem Float zu verändern.
Alternativ wäre wohl möglich einen String zu erzeugen der die Zahl angibt. Aber das ist sicher nicht optimal.
Ich habe ein wenig getestet ob es mit den Datentypen allein geht aber das Ergebnis ist nicht so wie ich dachte.
Code: Alles auswählen
Procedure ms_to_Second(ms.f)
ProcedureReturn ms / 2
EndProcedure
Debug ms_to_Second(13) ;ergibt 6
Define.f dd
dd = 13
Debug dd / 2 ;ergibt 6.5
Debug 13 / 2 ;ergibt 6
Define.f dd
Define.l aa
aa = 13
dd = aa
Debug dd / 2 ;ergibt 6.5
Hingegen der zweite Codeteil mit dd als Float ergibt 6.5. Der dritte Codeteil dagegen eine 6. Und beim 4. klappt es wiederum. 6.5 ist das Ergebnis.
Wenn das mit der Prozedur funktionieren würde dann hätte man ja bereits so eine Umwandlungsfunktion wie ich suche bzw man könnte sie sich bauen. Nur irgendwie passt hier noch etwas nicht.