首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数学公式的表示

数学公式的表示
EN

Stack Overflow用户
提问于 2018-04-27 11:38:42
回答 2查看 93关注 0票数 0

我只想检查一下,这个公式是否和我在Android应用程序中写的一样。现在,我返回的值是意外的(从我在Android中的公式),所以我假设我的代码有问题。很可能是因为n变量,因为我不确定应该分配多少值n。任何帮助都是非常感谢的。

公式A已经完成,结果P0是B中的“还款”变量

代码语言:javascript
复制
//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;
}

下面是我应该遵循的公式:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-27 12:12:45

正如马蒂厄所提到的,你犯了一个错误,但这只是部分正确。你也做加法,而不仅仅是乘法。它看起来是这样的:

代码语言:javascript
复制
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;
票数 2
EN

Stack Overflow用户

发布于 2018-04-27 11:52:01

你犯了个数学错误。

你的中间部分不应该被偿还减掉。应该更像是

代码语言:javascript
复制
middle = (Math.pow(inside, 365 * n));
(loan * middle) - (repayement * last);

因为在你的公式里,它们不是对位妊娠。所以乘法有优先权。

真诚地,马蒂厄

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50061614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档