DIM Var AS Float
This native datatype represents a double floating point value, i.e. a eight bytes floating point value.
The value of a Float is a number between -8.98846567431105E+307 and +8.98846567431105E+307
The precision of Float is 52 binary digits, which is 16 decimale digits (2^-52). This means: if add to 1.0 a (positive) number which is less than 2E-16 than the result will be exaclty 1.0
PUBLIC x AS Float PUBLIC SUB ButFloat_Click() DIM y AS Float x = Sin(0.32) y = x - (0.32 - 0.32 ^ 3 / (2 * 3)) END
0.314566560616 2.789394945107E-5
![]() |
Overflow during Float arithmetic operations is not detected!
Instead the result is set to 1E+2147483647 resp -1E+2147483647
If such an overflowed number is used in further expressions, then the execution stops and a message window shows "Mathematic error". But the value of a Float can be compared against maxfloat or minfloat. |
CONST maxfloat AS Float = +8.98846567431105E+307 CONST minfloat AS Float = -8.98846567431105E+307 ... IF y > maxfloat OR y < minfloat THEN PRINT "Float y overflow" ELSE x = y / 23000 ENDIF