Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/12/2009, 13:43
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: 17 años, 3 meses
Puntos: 2658
Respuesta: Problema con ROUND

¿Y cuánto valen nivel_venta.precio_nivel_venta y lista_precio.descuento en ese momento dado?
Un ejemplo:
Código sql:
Ver original
  1. SELECT
  2.   (1500 *5.5*((100-0)/100)) Prueba1_A,
  3.   round((1500 *5.5*((100-0)/100)),-2) Prueba1_B,
  4.   (1405 *5.5*((100-0)/100)) Prueba2_A,
  5.   round((1405 *5.5*((100-0)/100)),-2) Prueba2_B;

El resultado es:
Código sql:
Ver original
  1. mysql> SELECT
  2.     ->   (1500 *5.5*((100-0)/100)) Prueba1_A,
  3.     ->   round((1500 *5.5*((100-0)/100)),-2) Prueba1_B,
  4.     ->   (1405 *5.5*((100-0)/100)) Prueba2_A,
  5.     ->   round((1405 *5.5*((100-0)/100)),-2) Prueba2_B;
  6. +------------+-----------+------------+-----------+
  7. | Prueba1_A  | Prueba1_B | Prueba2_A  | Prueba2_B |
  8. +------------+-----------+------------+-----------+
  9. | 8250.00000 |      8300 | 7727.50000 |      7700 |
  10. +------------+-----------+------------+-----------+
  11. 1 ROW IN SET (0.00 sec)

Los redondeos dan perfecto... ¿Cómo es posible que te falle? depende del valor que interviene en cada parte, y es posible que dependa de la versiónde MySQL, ya que algunas releases tuvieron bugs.
¿Cuál usas tu?
Verifica con una prueba de escritorio.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)