Я пытаюсь рассчитать ежемесячный платеж по кредиту, и это всегда выходит неправильно.
Формула выглядит следующим образом, где я проценты
((1 + i)^months /
(1 + i)^months - 1)
* principal * i
Предполагая, что годовая процентная ставка и основная сумма являются невидимой плавающей запятой, можете ли вы сказать мне, что не так с моей формулой?
double calculatePaymentAmount(int annualInterestRate,
int loanSize,
int numberOfPayments;
{
double monthlyInterest = annualInterestRate / 1200.0;
return
(
pow(1 + monthlyInterest, numberOfPayments) /
(pow(1 + monthlyInterest, numberOfPayments) - 1)
)
* (loanSize / 100)
* monthlyInterest;
}
Например: процентная ставка 1,25 и размер кредита 250 на 12 месяцев дает 22,27 вместо 20,97.
Заранее спасибо.
Редактировать 1: ежемесячные проценты изменены на годовую процентную ставку / 1200.
.0
к константам, когда вам нужна плавающая запятая, просто чтобы убедиться, что результат тоже с плавающей запятой. - person Jite   schedule 04.03.2013