The size of a float is platform-dependent, although a maximum of ~1.8e308 with
a precision of roughly 14 decimal digits is a common value (the 64 bit IEEE
format).
Warning
Floating point precision
It is typical that simple decimal fractions like 0.1 or
0.7 cannot be converted into their internal binary
counterparts without a small loss of precision. This can lead to confusing
results: for example, floor((0.1+0.7)*10) will usually
return 7 instead of the expected 8,
since the internal representation will be something like
7.9.
This is due to the fact that it is impossible to express some
fractions in decimal notation with a finite number of digits. For instance,
1/3 in decimal form becomes
0.3.
So never trust floating number results to the last digit, and never compare
floating point numbers for equality. If higher precision is necessary,
the arbitrary precision math functions and
gmp functions are available.