是否有人可以使该算法易于理解,以便为我的应用程序输入计算。
谢谢
解释:
是的,该算法当然可以用编程语言表达,但是我不会提供实现,而是提供一些伪代码来帮助您入门。
所以我们看到的第一件事x
就是处理金钱,所以让我们将其表示为双重
double monthlyPayment //this is X
接下来我们看到这P sub 0
是总贷款金额,所以我们也将其表示为双倍
double loanAmount // this is P sub 0
接下来我们看到这i
是利率,所以这也将是双倍
double interestRate // this is i
接下来我们看到这n
是还贷的月数,这是一个整数
int monthsRemaining // this is n
所以看看你提出的公式,我们采取以下措施:
monthlyPayment = (loanAmount * interestRate) / 1 - (1 + interestRate) ^ (-1 * monthsRemaining)
现在没有实际实施这个我相信你可以从这里得到它。
这是您可以使用 Javascript 表示它的方式:
function repayment(amount, months, interest) {
return (amount * interest) / (1 - Math.pow(1 + interest, -months));
}
你在寻找方程的解释吗?它处理贷款。当您贷款时,您会在一定的月数(n)内取出一定数量的钱(P)。此外,为了使贷款对贷款人有价值,您需要支付利率 (i)。这是您每月对剩余贷款金额收取的百分比。
因此,您需要计算每个月 (x) 必须支付多少才能在设定的时间(n 个月)内还清贷款。这并不像将贷款金额(P)除以月数(n)那么简单,因为您还必须支付利息。
因此,等式为您提供每月必须支付的金额,以偿还原始贷款和任何利息。
如果您使用的是 Java:
public double calculateMonthlyPayment(double originalLoan, double interestRate, double monthsToRepay) {
return (originalLoan*interestRate)/(1-(Math.pow((1+interestRate), -monthsToRepay)));
}