Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Obtener parte DECIMAL de un real

Estas en el tema de Obtener parte DECIMAL de un real en el foro de Mysql en Foros del Web. ¡hola! quiero obtener la parte decimal de un real o la parte entera de un real, No quiero usar "redondeos" por lo que ROUND() no ...
  #1 (permalink)  
Antiguo 13/12/2010, 11:44
 
Fecha de Ingreso: noviembre-2010
Mensajes: 6
Antigüedad: 13 años, 5 meses
Puntos: 0
Obtener parte DECIMAL de un real

¡hola! quiero obtener la parte decimal de un real o la parte entera de un real,

No quiero usar "redondeos" por lo que ROUND() no me sirve,
  #2 (permalink)  
Antiguo 13/12/2010, 12:02
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: Obtener parte DECIMAL de un real

Una forma:
Código MySQL:
Ver original
  1. SELECT (986.64786876 DIV 1) Entero, (986.64786876 MOD 1) * POW(10, (LENGTH(986.64786876 MOD 1)-2)) ParteDec
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 13/12/2010, 12:49
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Obtener parte DECIMAL de un real

gnzsoloyo.. la función DIV para este caso da un numero por encima. al hacer DIV se asume que se utilizan numeros enterios. Al ver el 986.64786876, automaticamente lo redondea al entero mas cercano que en este caso es 987.

Para solventar eso, sería mas adecuado utilizar la función FLOOR que retorna la parte entera del numero sin importar el valor decimal. Para hallar la parte decimal bastaría con una resta.

Por ejemplo:

Código MySQL:
Ver original
  1. mysql> SELECT FLOOR(984.999991325) Parte_entera,(984.999991325-FLOOR(984.999991325))Parte_decimal;
  2. +--------------+---------------+
  3. | Parte_entera | Parte_decimal |
  4. +--------------+---------------+
  5. |          984 |   0.999991325 |
  6. +--------------+---------------+
  7. 1 row in set (0.00 sec)
  8.  
  9. mysql>

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #4 (permalink)  
Antiguo 13/12/2010, 13:03
 
Fecha de Ingreso: noviembre-2010
Mensajes: 6
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Obtener parte DECIMAL de un real

¡muchas gracias!

Etiquetas: decimal, real
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:03.