我只想检查一下这个公式是否与我在Android应用中所写的相同。 现在我返回的值是意料之外的(根据我在Android Studio中的公式)所以我假设我的代码中有错误。很可能是因为n变量,因为我不确定应该分配什么值n。任何帮助都会非常感激
公式A完成后,结果P0是B
中的“偿还”变量//method for at end of year total
public void totalAtEndOfYear(double loan, double repayments, double interest, int years, int frequency) {
double inside = (1 + interest / 365);
//repayments is the result from A
double middle = (Math.pow(inside, 365 * n) - repayments);
double numerator = (Math.pow(inside, 365 * n) -1);
double denominator = (Math.pow(inside, frequency) -1);
double last = numerator / denominator;
double total = loan * middle * last;
}
答案 0 :(得分:2)
正如Matthieu所说,你犯了一个错误,但它只是部分正确。你也做了补充,而不仅仅是乘法。它看起来像这样:
double inside = (1 + interest / 365);
//repayments is the result from A
double numerator = (Math.pow(inside, 365 * n) -1);
double denominator = (Math.pow(inside, frequency) -1);
double first = loan * Math.pow(inside, 365 * n);
double last = - repayments * numerator / denominator;
double total = first + last;
答案 1 :(得分:0)
你犯了数学错误。
你的中间人不应该通过还款来减少。它应该更像是
middle = (Math.pow(inside, 365 * n));
(loan * middle) - (repayement * last);
因为在你的公式中他们不是parathesis。所以乘法具有优先权。
亲切, 马修