Floating point numbers (AKA "floats", "doubles" or "real numbers") can be specified using any of the following syntaxes:

Formally:LNUM [0-9]+ DNUM ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*) EXPONENT_DNUM ( ({LNUM} | {DNUM}) [eE][+-]? {LNUM}) |

Floating point precision |

It is quite usual that simple decimal fractions like
This is related to the fact that it is impossible to exactly
express some fractions in decimal notation with a finite number
of digits. For instance, So never trust floating number results to the last digit and never compare floating point numbers for equality. If you really need higher precision, you should use the arbitrary precision math functions or gmp functions instead. |

For information on when and how strings are converted to floats, see the section titled String conversion to numbers. For values of other types, the conversion is the same as if the value would have been converted to integer and then to float. See the Converting to integer section for more information.