Ver Mensaje Individual
  #5 (permalink)  
Antiguo 29/08/2011, 06:05
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: que tipo debo poner en una columna con un numero como este -103.3419100000

Cita:
Iniciado por duskrow Ver Mensaje
Hola amigos he estado buscando que tipo debo ponerle ala columna para que me guarde un valor como este -103.34191000000001

pongo float , double, real , y me pone -103.34191
y la verdad es que lo necesito completo :S
Más allá de lo que te dice andresdzphp (algo impreciso, porque la a la longitud de un DECIMAL debes restarle un caracter que es usado por el punto), el tipo natural para MySQL es FLOAT. El problema básico no está en lo que se guarda, que es exactamente lo que pusiste, sino en lo que phpMyAdmin te muestra, o mejor dicho, en lo que está representando.
Si te fijas con cuidado lo que hace phpMyadmin es un redondeo despreciando el valor no relevante del numero que pones. En realidad si lo consideras, un valor del orden de 0.00000000000001 (un diezbillonésimo o 10 ^-13) no es significante para ningún tipo de cálculo, a menos que estés trabajando con partículas atómicas, o representando científicamente distancias astronómicas. Es un valor simplemente despreciable que no afecta ningún cálculo.
Esa es la razon básica de por qué no te lo muestra: Falta de relevancia.
De todos modos, como un FLOAT es una representación por punto flotante, el valor está efectivamente almacenado, pero no te lo mostrará completo a menos que se lo especifiques de alguna forma, como por ejemplo:
Código MySQL:
Ver original
  1. SELECT FORMAT(valor, 14) valor_total
  2. FROM tabla;
donde 14 es la cantidad de decimales a mostrar.

Pruebalo y veamos
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)