我只想检查一下,这个公式是否和我在Android应用程序中写的一样。现在,我返回的值是意外的(从我在Android中的公式),所以我假设我的代码有问题。很可能是因为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;
}下面是我应该遵循的公式:

发布于 2018-04-27 12:12:45
正如马蒂厄所提到的,你犯了一个错误,但这只是部分正确。你也做加法,而不仅仅是乘法。它看起来是这样的:
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;发布于 2018-04-27 11:52:01
你犯了个数学错误。
你的中间部分不应该被偿还减掉。应该更像是
middle = (Math.pow(inside, 365 * n));
(loan * middle) - (repayement * last);因为在你的公式里,它们不是对位妊娠。所以乘法有优先权。
真诚地,马蒂厄
https://stackoverflow.com/questions/50061614
复制相似问题