Los n煤meros de punto flotante (tambi茅n conocidos como "flotantes", "dobles" o "n煤meros reales") pueden ser especificados usando cualquiera de las siguientes sintaxis:
Formalmente:
LNUM [0-9]+ |
| Precisi贸n del punto flotante |
Es bastante com煤n que algunas fracciones decimales simples como 0.1 o 0.7 no puedan ser convertidas a su representaci贸n binaria interna sin perder un poco de precisi贸n. Esto puede llevar a resultados confusos: por ejemplo, floor((0.1+0.7)*10) usualmente devolver谩 7 en lugar del esperado 8 ya que el resultado de la representaci贸n interna es en realidad algo como 7.9999999999.... Esto se encuentra relacionado al hecho de que es imposible expresar de forma exacta algunas fracciones en notaci贸n decimal con un n煤mero finito de d铆gitos. Por ejemplo, 1/3 en forma decimal se convierte en 0.3333333. . .. As铆 que nunca conf铆e en resultados de n煤meros flotantes hasta el 煤ltimo d铆gito, y nunca compare n煤meros de punto flotante para conocer si son equivalentes. Si realmente necesita una mejor precisi贸n, es buena idea que use las funciones matem谩ticas de precisi贸n arbitraria o las funciones gmp en su lugar. |
Para m谩s informaci贸n sobre cu谩ndo y c贸mo son convertidas las cadenas a flotantes, vea la secci贸n titulada Conversi贸n de cadenas a n煤meros. Para valores de otros tipos, la conversi贸n es la misma que si el valor hubiese sido convertido a entero y luego a flotante. Vea la secci贸n Conversi贸n a entero para m谩s informaci贸n. A partir de PHP 5, una noticia es generada si intenta convertir un objeto a flotante.