• Miércoles 20 de Noviembre de 2024, 14:26

Autor Tema:  Loco Con Los Cálculos  (Leído 3446 veces)

PsychoPain

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Loco Con Los Cálculos
« en: Jueves 9 de Febrero de 2006, 18:18 »
0
Hola,

estoy que me tiro de los pelos con los cálculos de números decimales en php, pues no dan la cantidad exacta, y sinceramente no se como hacerlo.

El caso es el siguiente; Tengo una cantidad (decimal) a la que quiero restarle un porcentaje de la misma.  La forma en la que lo estoy haciendo es esta:
Código: Text
  1.  
  2. <?php
  3.  
  4. $cantidad = 16050.00;
  5.  
  6. print $cantidad - $cantidad * 7 / 100;
  7.  
  8. ?>
  9.  
  10.  
El resultado es siempre 14926,5  , cuando debería ser 15000.00

Necesito ayuda!  :argh:

Gracias.

ibito

  • Miembro HIPER activo
  • ****
  • Mensajes: 549
  • Nacionalidad: mx
  • Se mas de C++ que lo que se de ese CSS
    • Ver Perfil
    • http://www.ibquezada.com
Re: Loco Con Los Cálculos
« Respuesta #1 en: Jueves 9 de Febrero de 2006, 18:27 »
0
¿No sería mas facil si hicieras los cálculos como se hacen comúnmente?
es decir:
Código: Text
  1.  
  2. echo $cantidad/1.07;
  3.  
  4.  

creo que esa manera de sacar el porcentaje que usas, está mal  :)
______________________________________
www.hazjuegos.com Una comunidad dedicada al desarrollo de videojuegos.

PsychoPain

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Loco Con Los Cálculos
« Respuesta #2 en: Jueves 9 de Febrero de 2006, 18:32 »
0
Muchas gracias ibito! funciona perfectamente.

Es lo que tiene ser novato :-D

 te debo una! :beer:

gnfrs

  • Miembro MUY activo
  • ***
  • Mensajes: 195
    • Ver Perfil
    • http://www.laguns.com.ar/
Re: Loco Con Los Cálculos
« Respuesta #3 en: Viernes 10 de Febrero de 2006, 17:26 »
0
MATEMATICAS......

A ver a ver:

$cantidad = 16050

El 7 % de cantidad es $cantidad * 7 / 100, o bien $cantidad * 0.07 que es igual a 1123,5 entonces 16050 - 1123,5 = 14926,5

Si hacemos el mismo cálculo con $cantidad = 100 es más claro.

De esa forma se resta un porcentaje de una cantidad. Ahora $cantidad / 1.07 no es lo mismo.

$cantidad / 1.07 = $cantidad / (1 + 7 / 100) = $cantidad + ($cantidad * 100 / 7)

Lo que querés calcular es $cantidad * 0.93 que eso es restar el porcentaje real.

16050 * 0.93 = 14926.5

No es lo mismo restar un porcentaje que calcular un porcentaje hacia atrás.
Gabriel S. Luraschi

·· Videos de Guns and Roses LAGUNS - Banda tributo a Guns N' Roses ··

.

ibito

  • Miembro HIPER activo
  • ****
  • Mensajes: 549
  • Nacionalidad: mx
  • Se mas de C++ que lo que se de ese CSS
    • Ver Perfil
    • http://www.ibquezada.com
Re: Loco Con Los Cálculos
« Respuesta #4 en: Viernes 10 de Febrero de 2006, 17:43 »
0
Bien, creo que gnfrs tiene razón, y para que quede todo claro, hagamos una sencilla regla de 3

Código: Text
  1.  
  2. SI 16050 es el 100%
  3.         X          7%
  4.  
  5. X=(7*16050)/100 (Que es lo mismo que puso gnfrs)
  6. X=1123.5
  7.  
  8.  

Eso nos dice, que indudablemente, para sacar un porcentaje de cierta cantidad, es multiplicar la cantidad por el porcentaje que queremos y dividirlo entre 100, (cosa que se ha estado haciendo desde el principio de éste hilo).

El chiste es que es redondeo, con los porcentajes se manejan números quebrados, entonces, al dividir entre 1.07 no estas restando en realidad 7% es solo una aproximación que quizá si pueda ser válida para porcentajes mayores al 15% y no creo que siempre.

Yo dí la anterior sugerencia puesto que recuerdo que en una empresa en la que laboré, sacaban el porcentaje de ésa manera... cantidad/0.15, y creo que en todas partes se hace así... ahora entiendo porqué el gobierno tiene dinero de más... pero eso es otro cantar... jeje... bueno... espero haber resolvido las dudas que yo si me la resolví jeje.
______________________________________
www.hazjuegos.com Una comunidad dedicada al desarrollo de videojuegos.

gnfrs

  • Miembro MUY activo
  • ***
  • Mensajes: 195
    • Ver Perfil
    • http://www.laguns.com.ar/
Re: Loco Con Los Cálculos
« Respuesta #5 en: Lunes 13 de Febrero de 2006, 14:32 »
0
Citar
ahora entiendo porqué el gobierno tiene dinero de más...

JAJAJAJAJ....

Buena moraleja.... Por lo menos acá en Argentina, supongo, eso lo deben hacer muchos contadores...

En verdad eso no es una aproximación, no recuerdo muy bien para qué sirve, pero yo había hecho un sistema para un supermercado que utilizaba ambas técnicas (a pedido del dueño), que por cierto servían para calcular distintos porcentajes. Si hago memoria lo explico otro día, sería bueno que seamos un poco menos ignorantes y nos fijemos qué diferencia hay entre esos cáculos, supongo que debe ser importante saberlo...

Saludos.
Gabriel S. Luraschi

·· Videos de Guns and Roses LAGUNS - Banda tributo a Guns N' Roses ··

.

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: Loco Con Los Cálculos
« Respuesta #6 en: Lunes 13 de Febrero de 2006, 20:33 »
0
Supongo que al usar "cantidad/1.07"  quieren obtener la funcion inversa de "cantidad*1.07" asi que con esto ultimo aumentas un 7% y con lo anterior vuelves a la cantidad inicial.

Por ejemplo si subes el precio de determinado item en 5% y luego quieres regresar al precio original tienes que usar "cantidad/1.05" (restar el 5% de la cantidad INICIAL) o de lo contrario vas a tener pérdidas si usas "cantidad*0.95%" (restar el 5% de la cantidad ACTUAL).  :rolleyes:

ibito

  • Miembro HIPER activo
  • ****
  • Mensajes: 549
  • Nacionalidad: mx
  • Se mas de C++ que lo que se de ese CSS
    • Ver Perfil
    • http://www.ibquezada.com
Re: Loco Con Los Cálculos
« Respuesta #7 en: Lunes 13 de Febrero de 2006, 23:13 »
0
Citar
Por ejemplo si subes el precio de determinado item en 5% y luego quieres regresar al precio original tienes que usar "cantidad/1.05" (restar el 5% de la cantidad INICIAL) o de lo contrario vas a tener pérdidas si usas "cantidad*0.95%" (restar el 5% de la cantidad ACTUAL).  :rolleyes:

100/1.05 no es igual al 5%
porque
Código: Text
  1.  
  2. 100/1.05=95.238095238095238095238095238095
  3.  
  4.  
el 5% de 100 es 5
y 100*0.95 si es 95%

No se, creo que esto ha ido demasiado lejos pero no se porqué se me hace interesante  :comp:
______________________________________
www.hazjuegos.com Una comunidad dedicada al desarrollo de videojuegos.

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Loco Con Los Cálculos
« Respuesta #8 en: Miércoles 15 de Febrero de 2006, 16:29 »
0
Bueno.. a ver si puedo aclarar algunas cosas....


Para calcular el porcentaje de algo se puede hacer, se calcula por regla de 3, por ejemplo, para sacar el 5% de 100 se hace :

100% _______ 100
   5% _______ x = 5 * 100 / 100

Si acomodamos un poco la operación, se puede ver que:

x = 100 * (5/100)

De lo cual se deduce que:

x = 100 * 0.05

Por lo cual, lo que decían más arriba está bien, la confusión la generar al hacer:

x = 100 * 1.05

En realidad está operación se hace para obtener el valor que tenemos, Más su 5%, ya que sale de la siguiente operación:

x = 100 + 100 * 0.5
x = 100 * (1+0.5)
x = 100 * 1.05
x = 105


Y acá está lo confusión de PsychoPain, ya que el quiere restarle el 7% a su total, no sumárselo. Para ello la operación sería:

x = 100 - 100 * 0.7
x = 100 * (1-0.7)
x = 100 * 9.3



Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: Loco Con Los Cálculos
« Respuesta #9 en: Miércoles 15 de Febrero de 2006, 16:42 »
0
Cita de: "ibito"
Citar
Por ejemplo si subes el precio de determinado item en 5% y luego quieres regresar al precio original tienes que usar "cantidad/1.05" (restar el 5% de la cantidad INICIAL) o de lo contrario vas a tener pérdidas si usas "cantidad*0.95%" (restar el 5% de la cantidad ACTUAL).  :rolleyes:

100/1.05 no es igual al 5%
porque
Código: Text
  1.  
  2. 100/1.05=95.238095238095238095238095238095
  3.  
  4.  
el 5% de 100 es 5
y 100*0.95 si es 95%

No se, creo que esto ha ido demasiado lejos pero no se porqué se me hace interesante  :comp:
Se trata de restar el 5% de la cantidad inicial.

Lo que estas haciendo es restar el 5% de la cantidad actual.

Inicial: 100
+5% = 100*1.05 = 105
ahora volvemos al precio INICIAL:
= 105/1.05 = 100

Si haces esto: 105 * 0.95 = 99.75 vas a tener que poner de tu bolsillo el 0.25 de pérdida.  :rolleyes:  :D

gnfrs

  • Miembro MUY activo
  • ***
  • Mensajes: 195
    • Ver Perfil
    • http://www.laguns.com.ar/
Re: Loco Con Los Cálculos
« Respuesta #10 en: Miércoles 15 de Febrero de 2006, 17:02 »
0
Tienen razón Altareum y Amilius.

NO ES LO MISMO RESTAR UN PORCENTAJE QUE CALCULAR UN PORCENTAJE HACIA ATRAS.

105 / 1.05 = CALCULA EL PORCENTAJE HACIA ATRAS
105 * 0.95 = RESTA EL 5% DE 105 que era la pregunta inicial del foro (105 - 105*5/100).

Saludos.
Gabriel S. Luraschi

·· Videos de Guns and Roses LAGUNS - Banda tributo a Guns N' Roses ··

.