Newsgrupos.com  

Retroceder   Newsgrupos.com > Forum > Newsgroup es.comp.lenguajes.* Foro > Newsgroup es.comp.lenguajes.php
Registrarse Preguntas Frecuentes Lista de Foreros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




Respuesta
 
LinkBack Herramientas Desplegado
  #1 (permalink)  
Antiguo 30-01-2008, 21:21:45
Keneve
 
Mensajes: n/a
Predeterminado como evitar el redondeo en una orden Select...

Hola, tengo unos importes, al cual les aplico un porcentaje el 2%, por
ejemplo:
Cantidad 2%
22,54 0,23
62,40 0,64
22,54 0,23
22,54 0,23
Si la suma la hago con una orden select:
el total de cantidad me da:130,02
el 2% me da: 1,31

Si le hago el 2% con php si me da 1,3, que sería lo correcto en mi
caso.

¿que está pasando?, he intentado cambiar el tipo de datos, lo tenia en
double, 8,2, y lo he pasado a float, y a decimal, pero me sigue
pasando lo mismo.
la versión de mysql es: MySQL 4.1.16, y php5

¿como puedo evitar ese redondeo en la orden sql?
Responder Con Cita
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Newsgrupos.com
Standard Sponsored Links

  #2 (permalink)  
Antiguo 30-01-2008, 23:19:12
Álvaro G. Vicario
 
Mensajes: n/a
Predeterminado Re: como evitar el redondeo en una orden Select...

*** Keneve escribió/wrote (Wed, 30 Jan 2008 13:21:45 -0800 (PST)):
> Hola, tengo unos importes, al cual les aplico un porcentaje el 2%, por
> ejemplo:
> Cantidad 2%
> 22,54 0,23
> 62,40 0,64
> 22,54 0,23
> 22,54 0,23
> Si la suma la hago con una orden select:
> el total de cantidad me da:130,02
> el 2% me da: 1,31
>
> Si le hago el 2% con php si me da 1,3, que sería lo correcto en mi
> caso.


No tengo ni la más remota idea de qué estás haciendo y el que no nos
enseñes nada de código no ayuda lo más mínimo. Pero de la ristra de números
que nos enseñas intuyo que estás calculando con SQL el 1% (o un porcentaje
parecido) de una serie de valores, el resultado lo redondeas a dos
decimales, posteriormente sumas con PHP los valores redondeados y descubres
que sale distinto que el porcentaje de la suma de cantidades. ¿Es algo
parecido?

Redondear implica pérdida de precisión. Si sumas cuatro valores redondeados
vas acumulando cuatro pequeños errores. Si haces un único cálculo y
redondeas, entonces sólo acumulas un pequeño error.

> ¿como puedo evitar ese redondeo en la orden sql?


Sin ver la consulta, yo diría que debes quitar la parte donde ponga
ROUND(), FORMAT() o algo parecido.


--
-+ http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
++ Mi sitio sobre programación web: http://bits.demogracia.com
+- Mi web de humor austrohúngaro: http://www.demogracia.com
--
Responder Con Cita
  #3 (permalink)  
Antiguo 30-01-2008, 23:19:12
Álvaro G. Vicario
 
Mensajes: n/a
Predeterminado Re: como evitar el redondeo en una orden Select...

*** Keneve escribió/wrote (Wed, 30 Jan 2008 13:21:45 -0800 (PST)):
> Hola, tengo unos importes, al cual les aplico un porcentaje el 2%, por
> ejemplo:
> Cantidad 2%
> 22,54 0,23
> 62,40 0,64
> 22,54 0,23
> 22,54 0,23
> Si la suma la hago con una orden select:
> el total de cantidad me da:130,02
> el 2% me da: 1,31
>
> Si le hago el 2% con php si me da 1,3, que sería lo correcto en mi
> caso.


No tengo ni la más remota idea de qué estás haciendo y el que no nos
enseñes nada de código no ayuda lo más mínimo. Pero de la ristra de números
que nos enseñas intuyo que estás calculando con SQL el 1% (o un porcentaje
parecido) de una serie de valores, el resultado lo redondeas a dos
decimales, posteriormente sumas con PHP los valores redondeados y descubres
que sale distinto que el porcentaje de la suma de cantidades. ¿Es algo
parecido?

Redondear implica pérdida de precisión. Si sumas cuatro valores redondeados
vas acumulando cuatro pequeños errores. Si haces un único cálculo y
redondeas, entonces sólo acumulas un pequeño error.

> ¿como puedo evitar ese redondeo en la orden sql?


Sin ver la consulta, yo diría que debes quitar la parte donde ponga
ROUND(), FORMAT() o algo parecido.


--
-+ http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
++ Mi sitio sobre programación web: http://bits.demogracia.com
+- Mi web de humor austrohúngaro: http://www.demogracia.com
--
Responder Con Cita
  #4 (permalink)  
Antiguo 30-01-2008, 23:19:12
Álvaro G. Vicario
 
Mensajes: n/a
Predeterminado Re: como evitar el redondeo en una orden Select...

*** Keneve escribió/wrote (Wed, 30 Jan 2008 13:21:45 -0800 (PST)):
> Hola, tengo unos importes, al cual les aplico un porcentaje el 2%, por
> ejemplo:
> Cantidad 2%
> 22,54 0,23
> 62,40 0,64
> 22,54 0,23
> 22,54 0,23
> Si la suma la hago con una orden select:
> el total de cantidad me da:130,02
> el 2% me da: 1,31
>
> Si le hago el 2% con php si me da 1,3, que sería lo correcto en mi
> caso.


No tengo ni la más remota idea de qué estás haciendo y el que no nos
enseñes nada de código no ayuda lo más mínimo. Pero de la ristra de números
que nos enseñas intuyo que estás calculando con SQL el 1% (o un porcentaje
parecido) de una serie de valores, el resultado lo redondeas a dos
decimales, posteriormente sumas con PHP los valores redondeados y descubres
que sale distinto que el porcentaje de la suma de cantidades. ¿Es algo
parecido?

Redondear implica pérdida de precisión. Si sumas cuatro valores redondeados
vas acumulando cuatro pequeños errores. Si haces un único cálculo y
redondeas, entonces sólo acumulas un pequeño error.

> ¿como puedo evitar ese redondeo en la orden sql?


Sin ver la consulta, yo diría que debes quitar la parte donde ponga
ROUND(), FORMAT() o algo parecido.


--
-+ http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
++ Mi sitio sobre programación web: http://bits.demogracia.com
+- Mi web de humor austrohúngaro: http://www.demogracia.com
--
Responder Con Cita
  #5 (permalink)  
Antiguo 30-01-2008, 23:19:12
Álvaro G. Vicario
 
Mensajes: n/a
Predeterminado Re: como evitar el redondeo en una orden Select...

*** Keneve escribió/wrote (Wed, 30 Jan 2008 13:21:45 -0800 (PST)):
> Hola, tengo unos importes, al cual les aplico un porcentaje el 2%, por
> ejemplo:
> Cantidad 2%
> 22,54 0,23
> 62,40 0,64
> 22,54 0,23
> 22,54 0,23
> Si la suma la hago con una orden select:
> el total de cantidad me da:130,02
> el 2% me da: 1,31
>
> Si le hago el 2% con php si me da 1,3, que sería lo correcto en mi
> caso.


No tengo ni la más remota idea de qué estás haciendo y el que no nos
enseñes nada de código no ayuda lo más mínimo. Pero de la ristra de números
que nos enseñas intuyo que estás calculando con SQL el 1% (o un porcentaje
parecido) de una serie de valores, el resultado lo redondeas a dos
decimales, posteriormente sumas con PHP los valores redondeados y descubres
que sale distinto que el porcentaje de la suma de cantidades. ¿Es algo
parecido?

Redondear implica pérdida de precisión. Si sumas cuatro valores redondeados
vas acumulando cuatro pequeños errores. Si haces un único cálculo y
redondeas, entonces sólo acumulas un pequeño error.

> ¿como puedo evitar ese redondeo en la orden sql?


Sin ver la consulta, yo diría que debes quitar la parte donde ponga
ROUND(), FORMAT() o algo parecido.


--
-+ http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
++ Mi sitio sobre programación web: http://bits.demogracia.com
+- Mi web de humor austrohúngaro: http://www.demogracia.com
--
Responder Con Cita
 
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último mensaje
Evitar q se abran las tablas participes de un select SQL Andres Gonzalez Newsgroup microsoft.public.es.vfoxpro.datos 6 03-07-2008 20:19:00
Urgente: ¿Cómo redondeo al alza? Loki Newsgroup microsoft.public.es.excel 1 23-02-2008 23:37:10
Evitar redondeo de decimales Wallas mouse Newsgroup microsoft.public.es.access 2 25-01-2008 20:28:20
Como hacer una pagina de orden? Teo Newsgroup microsoft.public.es.dotnet.aspnet 4 24-01-2008 02:19:02
Bono anuló una orden de Aznar para evitar que la 'Álvaro de Bazán' participase en actos de guerra Galileo Newsgroup es.charla.sindical 0 23-03-2007 18:43:44





Powered by: vBulletin, Versión 3.6.8
Derechos de Autor ©2000 - 2008, Jelsoft Enterprises Ltd.

LinkBacks Enabled by vBSEO 3.1.0 © 2007, Crawlability, Inc.