   #PHP Manual Types Integers Strings

          PHP Manual
   Prev Chapter 6. Types Next
   ______________________________________________________________________

Floating point numbers

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

   <?php
   $a = 1.234;
   $b = 1.2e3;
   $c = 7E-10;
   ?>

   Formally:

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

   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 (that's 64 bit IEEE format).

   Floating point precision

   It is quite usual that simple decimal fractions like 0.1 or 0.7 cannot
   be converted into their internal binary counterparts without a little
   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 as
   the result of the internal representation really being something like
   7.9999999999....

   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, 1/3 in decimal form becomes 0.3333333. . ..

   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.

Converting to float

   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.
   ______________________________________________________________________

   Prev     Home    Next
   Integers  Up  Strings
