Home / lang / type / float 
Float
Syntax
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

Examples

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
<hr>
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 &gt; maxfloat OR y &lt; minfloat THEN
  PRINT "Float y overflow"
ELSE
  x = y / 23000
ENDIF

See also

Datatypes  Arithmetical Functions  Trigonometric Functions  Logarithms & Exponentials Functions