Si tomo el valor 100 y quiero añadirle un impuesto del 10% y luego un impuesto del 7%, estoy haciendo lo siguiente:
$$\begin{align*} 100 \times \left(1 + \frac{10}{100}\right) &= 110\\ 100 \times \left(1 + \frac{7}{100}\right) &= 107\\ 100 + 10 + 7 &= 117. \end{align*}$$
Si elimino el 10% y luego el 7% de 117, no obtengo 100, obtengo 98.7094.... Mi fórmula está configurada de la siguiente manera:
TotalGeneral = 117
TotalAjustado = TotalGeneral
Valor = TotalGeneral - (TotalGeneral/(1 + (porcentaje/100))
TotalAjustado = TotalAjustado - Valor
Si estoy haciendo más de un porcentaje, me encuentro con problemas como el 10% y el 7%.
¿Estoy complicando demasiado esto y qué estoy haciendo mal? Básicamente, quiero tomar un valor, añadir impuestos y luego eliminar los mismos impuestos para recuperar mi valor original.
He agregado una pregunta sobre esto en stackoverflow aquí, pero estoy atascado en la programación de la parte no compuesta y en la mezcla de ambos.
2 votos
17% de 117 es mayor que el 17% de 100.
0 votos
Para cambios pequeños, el aumento y la disminución son casi iguales, así que esto funcionará. El error proviene de la multiplicación de los dos porcentajes, así que si son pequeños, puedes (tal vez) ignorarlo. $(1+1\%)(1-1\%)=1\cdot 1 + 1 \cdot 1\% 1 1\% \cdot 1 - 1\% \cdot 1\%=0.9999$. Es el último término el que hace que no funcione.