12/03/2013, 07:04
|
| Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 1 mes Puntos: 2658 | |
Respuesta: En mysql introduzco y visualizo un float correcto y en php salen mas decim Tipo de columna equivocado en la tabla.
Para números con decimales precisos se debe usar DECIMAL. FLOAT es un tipo de dato por aproximación, y la interfaz que usas está preparada para realizar redondeos, los cuales son los que generan ese "10,2". Pero el numero que devuelve realmente MySQL es ese que el PHP te está tomando, porque es lo que realmente recibe.
La explicación de esto es larga y requiere conocer lo que son representaciones binarias de punto flotante (en las computadoras no existen cifras, los numeros se representan binariamente). No creo que sea necesario ahora.
Lo que te puedo recomendar, para evitarte problemas, es que si necesitas que las cifras no se alteren al ingresarlas, uses DECIMAL y no FLOAT.
En el caso del DECIMAL, debes indicar longitud y cantidad de decimales que se usarán. La longitud es la longitud total de la cifra máxima, incluyendo el punto decimal y la cantidad de decimales.
Así, un DECIMAL(10,3) representará como mucho el numero 999999.999.
¿Se entiende?
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |