FLOAT

The FLOAT data type stores values as double-precision floating-point binary numbers with up to 16 significant digits. FLOAT corresponds to the double data type in the C language. Values for the FLOAT data type have the same range of values as the C double data type on your C compiler.

For compatibility with the ANSI standard for embedded SQL, you can declare a whole number between 1 and 14 as the precision of a FLOAT data type, but the actual precision is data-dependent and compiler-dependent.

A variable or constant of the FLOAT data type typically stores scientific or engineering data that can only be calculated approximately. Since floating-point numbers retain only their most significant digits, a value that is entered into a FLOAT variable, constant, or database column can differ slightly from the numeric value that a 4GL form or report displays.

This rounding error arises from how computers store floating-point numbers internally. For example, you might enter a value of 1.1 into a FLOAT field. After processing the 4GL statement, the program might display this value as 1.09999999. This occurs in the typical case where the exact floating-point binary representation of a base-10 value requires an infinite number of digits in the mantissa. The computer stores a finite number of digits, so it stores an approximate value, with the least significant digits treated as zeros.