数学公式的表示

时间:2018-04-27 11:38:42

标签: java android math

我只想检查一下这个公式是否与我在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;
}

以下是我想要遵循的公式:enter image description here

2 个答案:

答案 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。所以乘法具有优先权。

亲切, 马修