Este es un tema más complicado que lo que parece.
Normalmente nos indican algo así: 3/10, n/90
que significa:
3% de descuento si pagas en 10 días
importe Neto si pagas a 90.
Las fórmulas que hay detrás tienen su complicación.
Lo podéis ver aquí: http://www.romanabades.com/descuento.htm
Este programa que he hecho en C++ lo podéis compilar con cualquier compilador libre.
Calcula el tipo de interés real que tenemos que tener en cuenta. En el ejemplo que he puesto (3% de descuento por pronto pago) el coste de financiación anual equivalente llega al 14,91%.
Para descargar el ejecutable clic aquí.
El código fuente:
#include <iostream>;
#include <math.h>;
#include <iomanip>;
using namespace std;
int main()
{
float descuento;
float costeFinanciacion;
float costeFinanciacionAnual;
float diasSinDescuento;
float diasDescuento;
cout<<"\n\nCoste de \n";
cout<<"---------------------------------------\n\n";
cout<<"Descuento (%): ";
cin>>descuento;
cout<<"\nDias para pagar (con descuento): ";
cin>>diasDescuento;
cout<<"\nDias para pagar (sin descuento): ";
cin>>diasSinDescuento;
cout<<std::endl<<"Coste de financiacion enganosa: ";
costeFinanciacion = descuento*100/(100-descuento);
cout<<setprecision(4)<<costeFinanciacion<<" %\n\n";
cout<<"Coste de financiacion anual equivalente:\n\n";
costeFinanciacionAnual = pow((1 + (costeFinanciacion/100)),(365/(diasSinDescuento-diasDescuento))) - 1;
cout<<costeFinanciacionAnual * 100<<" %"<<std::endl<<std::endl;
cin.sync();
cin.get();
return 0;
}
Por cierto, para el coloreado del código fuente he utilizado este sitio de «Online syntax highlighting».
Saludos.