Folgende Werte sind Fließkommawerte:
Real 2.9 x 10^-39 .. 1.7 x 10^38 11-12 6
Single 1.5 x 10^-45 .. 3.4 x 10^38 7-8 4
Double 5.0 x 10^-324 .. 1.7 x 10^308 15-16 8
Extended 3.4 x 10^-4932 .. 1.1 x 10^4932 19-20 10
Comp -2^63+1 .. 2^63 -1 19-20 8
Currency -922337203685477.5808.. 922337203685477.5807 19-20 8
Folgende sind Ganzezahlen
Smallint -32768..32767 16 Bit einschließlich Vorzeichen
Longint -2147483648..2147483647 32 Bit einschließlich Vorzeichen
Byte 0..255 8 Bit, besitzt kein Vorzeichen
Word 0..65535 16 Bit, besitzt kein Vorzeichen
Integer -2147483648..2147483647 32 Bit einschließlich Vorzeichen
Cardinal 0..2147483647 32 Bit, besitzt kein Vorzeichen
Wenn das Ergebnis var1 eine Fließkommazahl sein soll must du so rechnen
var1 muss eine Fließkommazahl sein, daher auch die Compiler Meldung, dass eine Integer(Ganzzahl) inkompatibel zu eime extended=Fließkommazahl, weil er nicht weiß, was mit den Kommas Stellen zu tun ist.
Quelltext
1: 2: 3: 4: 5: 6: 7:
| VAR var1 :extended; meinepunkte: integer; gesammtepunkte: integer; BEGIN var1:= meinepunkte / gesammtepunkte; END; |
Wenn das Ergebnis eine Genzezahl sein soll rechnest du so
Quelltext
1: 2: 3: 4: 5: 6: 7:
| VAR var1 :integer; meinepunkte:extended; gesammtepunkte: extended; BEGIN var1:= ROUND(meinepunkte / gesammtepunkte); END; |
Wenn alle Werte Genzsahlen sind rechnet man so:
Quelltext
1: 2: 3: 4: 5: 6: 7:
| VAR var1 :integer; meinepunkte: integer; gesammtepunkte: integer; BEGIN var1:= meinepunkte div gesammtepunkte; END; |
SMI
(10.10.02 09:09 Tino) Code-Tags hinzugefügt.