Gambas Documentation - /lang/type/float

# Float

DIM Var AS Float

This native datatype represents a double floating point value, i.e. an eight byte floating point value.

The value of Float is a number between -8.98846567431105E+307 and +8.98846567431105E+307

The precision of Float is 52 binary digits, which is 16 decimal digits (2^-52). This means: if you add a (positive) number which is less than 2E-16 to 1.0, then the result will be exactly 1.0.

### Examples

    DIM x AS Float = Sin(0.32)
    DIM y AS Float = x - (0.32 - 0.32 ^ 3 / (2 * 3))

    PRINT x;;y

    0.314566560616	2.789394945107E-5

Overflow during Float arithmetic operations is not detected! Instead, the result is set to 1E+2147483647 or -1E+2147483647 depending on the direction of the overlow.

If such an overflowed number is used in further expressions, then the execution stops and a message window shows "Mathematic error". The value of a Float can be compared against maxfloat or minfloat.

### Examples

    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

### See also

- Datatypes

- Single

- Arithmetical Functions

- Trigonometric Functions

- Logarithms & Exponentials Functions