1

ローンの毎月の返済額を計算しようとしていますが、いつも間違っています。

数式は次のとおりです。ここで、i は対象です

((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 で 12 か月のローン サイズが 250 の場合、20.97 ではなく 22.27 になります。

前もって感謝します。

編集 1: 毎月の利息をanualInterestRate / 1200 に変更

4

3 に答える 3

0

変換中

double monthlyInterest = (double)annualInterestRate / 
    1200 / 100;

double monthlyInterest = (double)annualInterestRate / 12.0;

トリックを行うでしょう。

c の演算子の優先順位について詳しくは、http://en.cppreference.com/w/c/language/operator_precedenceを参照してください。

于 2013-03-04T13:26:09.840 に答える
0

私は何が間違っているかを見つけました。月利 = 年利率 / 1200.0 / 100

于 2013-03-04T13:55:27.467 に答える
0

annualInterestRateがパーセントであると仮定すると、次monthlyInterestのように計算する必要があります。

double monthlyInterest = pow(1+(double)annualInterestRate / 100, 1/12.0) - 1.0;
于 2013-03-04T13:26:52.930 に答える