Ver Mensaje Individual
  #8 (permalink)  
Antiguo 15/01/2013, 17:06
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Consulta php - mysq me trunca los caracteres.

Un FLOAT es un decimal de punto flotante, pero a diferencia del desperdicio de espacio que tienes en el TEXT y el CHAR, sólo requiere 8 bytes para almacenar todo ese número.
Por otro lado, el problema de truncado puede perfectamente ser un tema de representación numérica de PHP y no de MySQL (que puede devolverte completo ese número, pero se debe indicar expresamente).

Además, te comento un detalle (experiencia trabajando con geolocalización): cualquier dígito decimal por detrás del sexto es completamente irrelevante, porque a partir de la esa posición decimal estás hablando de menos de 10 centímetros...
Explico mejor: Cada grado (entero) representa aproximadamente 112 Km. Luego, el primer decimal son 11,2 Km, el tercero 1,12, etc. De ese modo, al llegar al octavo estamos hablando de 0,00112 metros, lo que equivale a decir menos un centímetro...
¿Me puedes explicar para qué quieres ese nivel de precisión?
Ni siquiera lo puedes representar en un mapa.

Nota: No te olvides que Latitud y Longitud son devueltas por calculo matemático, por lo que es natural que sea un punto flotante, ya que el calculo es una triangulación sobre un geoide. Pero luego hay una gran cantidad de decimales que se desprecian por irrelevantes.

En cuanto al PHP, según el manual:
Cita:
El tamaño de un flotante depende de la plataforma, aunque un valor común consiste en un máximo de ~1.8e308 con una precisión de aproximadamente 14 dígitos decimales (lo que es un valor de 64 bits en formato IEEE).
Hay algunos considerandos más al respecto, por ejemplo el impacto de las conversiones entre cadenas de texto (string) y números, por lo que te recomiendo que leas más detalladamente el manual: http://ar.php.net/manual/es/language.types.float.php
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 15/01/2013 a las 17:12