В настоящее время я пытаюсь разработать сложный калькулятор процентов, который включает ежемесячные взносы. Я успешно смог получить составной процентный расчет, работающий без ежемесячных взносов, используя следующую строку кода, но не могу понять, какая формула должна быть при добавлении ежемесячных взносов.java compound interest with взносы формула
double calculatedValue = (principalValue * Math.pow(1 + (interestRateValue/numberOfCompoundsValue), (termValue * numberOfCompoundsValue)));
При попытке получить расчетное значение с помощью взносов я изменил способ, которым это делается. Посмотрите следующий код, как я подошел к этому.
//The starting principal
double principalValue = 5000;
//Interest rate (%)
double interestRateValue = 0.05;
//How many times a year to add interest
int numberOfCompoundsValue = 4;
//The number of years used for the calculation
double termValue = 30;
//The monthly contribution amount
double monthlyContributionsValue = 400;
//How often interest is added. E.g. Every 3 months if adding interest 4 times in a year
int interestAddedEveryXMonths = 12/numberOfCompoundsValue;
//The total number of months for the calculation
int totalNumberOfMonths = (int)(12 * termValue);
for(int i = 1; i <= totalNumberOfMonths; i++)
{
principalValue += monthlyContributionsValue;
if(i % interestAddedEveryXMonths == 0)
{
principalValue += (principalValue * interestRateValue);
}
}
Я понял, что это должно делать то, что я за. Каждый месяц увеличивайте основную сумму на сумму взноса, и если этот месяц равен месяцу, в который должен быть добавлен процент, затем рассчитать процентную ставку * процентную ставку и добавить ее к основному лицу.
При использовании приведенных выше значений я ожидаю ответ $ 355,242.18, но получаю $ 10511941.97, что выглядит лучше на моем банковском счете, но не в моих расчетах.
Если кто-нибудь может предложить мне какую-то помощь или указать, где я поступил неправильно, это было бы очень признательно.
Заранее спасибо
Попытка отладки вы будете знать, где проблема –
я отлажена это и все выглядело, как это делает, как надо, помимо Я не был уверен, что точные значения, которые должны быть рассчитаны на каждой итерации. Должно быть что-то действительно очевидное, что мне не хватает, слишком долго смотревший на код. –