Floating point numbers (also known as “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 (the 64 bit IEEE format).

Warning

Floating point precision

Floating point numbers have limited precision. Although it depends on the system, PHP typically uses the IEEE 754 double precision format, which will give a maximum relative error due to rounding in the order of 1.11e-16. Non elementary arithmetic operations may give larger errors, and, of course, error progragation must be considered when several operations are compounded.

Additionally, rational numbers that are exactly representable as floating point numbers in base 10, like 0.1 or 0.7, do not have an exact representation as floating point numbers in base 2, which is used internally, no matter the size of the mantissa. Hence, they 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.9999999999999991118….

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.

Facebook y las Cookies Inmortales que te siguen y vigilan eternamente sin permiso Facebook está en el punto de mira de las autoridades de diversos países por asuntos relacionados con laintimidad y la protección de los datos pers...
Se derrumba el mercado de los Tablets.. El mercado de las “tablets” electrónicas se ha venido abajo para Samsung y Apple, pero sobre todo para la Kindle Fire de Amazon, gracias al surgimient...
Google, Microsoft y otros acuerdan implementar sistema de “no rastreo” en internet El presidente de Estados Unidos, Barack Obama, presentó una propuesta de regulación para la privacidad en internet, que busca hacerse cargo de las con...
Soporte de CSS en los navegadores El trabajo del diseñador web siempre está limitado por las posibilidades de los navegadores que utilizan los usuarios para acceder a sus páginas. Po...
Que Son las Redes Sociales Todos los dias entramos a nuestra red social favorita, pero en realidad sabemos que es una red social?, para que sirve? que implicaciones tiene en nue...
Ranking Buscadores Septiembre 2012 Coincidiendo con la reciente recapitalización de la compañía de origen norteamericano, Yahoo ha dado un salto en la cuota de mercado de su buscador lo...
Facebook se conecta con 60 nuevas aplicaciones Facebook realizó un evento ayer para anunciar que hasta 60 nuevos servicios se conectan con la red social. Lo harán en forma de aplicaciones y gracias...
La ENIAC , el primer computador? ENIAC es un acrónimo de Electronic Numerical Integrator And Computer (Computador e Integrador Numérico Electrónico), utilizada por el Laboratorio ...
if operator The if construct is one of the most important features of many languages, PHP included. It allows for conditional execution of code fragments. PHP fea...
Web Hosting Glossary,Terms Letter: B Terms Letter: B B Channel The ISDN bearer server channel. This channel carries digital voice and/or data transmission at a rate of 64 Kbit/s...
Floating point numbers
Tagged on: