Seite 1 von 1

Problem mit einer Division...

Verfasst: 22.03.2009 01:48
von trampi
Ich habe ein sehr seltsames Problem. Ich weiß nicht wie ich es beheben kann.

Hier der Code:

Code: Alles auswählen

size = FileSize("temp")
Test = 84091384

Debug size; gibt 10243860
Debug Test; gibt 84091384

ergebnis = (size/test)

Debug ergebnis; gibt 0 .....
Warum kommt bei Ergebnis immer 0 heraus?

Verfasst: 22.03.2009 01:51
von STARGÅTE
Jede Variable ist ohne Typenbezeichnung zunächst Ganzzahlig (Integer)

wenn du also eine Fließkommazahl erhalten möchtest, musst du dies Definieren:

Code: Alles auswählen

size = FileSize("temp") 
Test = 84091384 
ergebnis.f = (size/test)
in dem falle das .f für Float

Verfasst: 22.03.2009 01:55
von X360 Andy

Code: Alles auswählen

size = FileSize("temp")
Test = 84091384

Debug size; gibt 10243860
Debug Test; gibt 84091384

ergebnis = (size/test)

Debug StrD(ergebnis,5)

Verfasst: 22.03.2009 01:58
von trampi
herzlichen Dank.
Oh mein Gott, ich hätte nie damit gerechnet soetwas triviales übersehen haben zu können........

Danke.

Verfasst: 22.03.2009 12:15
von ts-soft
Immer noch alles falsch :mrgreen:
FileSize gibt ein Quad zurück!

Verfasst: 22.03.2009 13:11
von Kaeru Gaman
> FileSize gibt ein Quad zurück!
hihi

.... ich würde sogar eine ausführliche form vorziehen, um auf der sicheren seite zu sein und maximale lesbarkeit zu wahren.
also erst in Quads packen, die in Doubles überführen, und dann erst die Division.

Code: Alles auswählen

QSize1.q = ( Random($FFFFFFF) << 28 ) + Random($FFFFFFF)
QSize2.q = ( Random($FFFFFFF) << 28 ) + Random($FFFFFFF)

; QSize1.q = FileSize("File1")
; QSize2.q = FileSize("File2")

Debug QSize1
Debug QSize2

DSize1.d = QSize1
DSize2.d = QSize2

Relation.d = DSize1 / DSize2

Debug Relation