使用 Math.Pow 计算每月贷款

Monthly Loan Calculation using Math.Pow

我正在尝试使用以下公式计算每月还款额:

其中L为贷款金额,R为月利率,N为还款次数。

首先,我从 Web 应用程序获取输入并进行计算以将其转换为公式的正确格式:

double loanAmount = double.Parse(txtLoanAmount.Text) - double.Parse(txtDownPayment.Text);
double interestRate = (double.Parse(txtInterestRate.Text) / 100) / 12;  
double loanPeriod = double.Parse(txtLoanPeriod.SelectedValue) * 12;

那么我现在的公式是这样写的:

Answer = loanAmount * interestRate / 1 - Math.Pow(1 / 1 + interestRate, loanPeriod);

我对math.pow函数不是太熟悉(我想我以前用过一次),所以我不确定我是否正确使用它。如果有人有任何建议,将不胜感激!

如之前的一些评论所述,运算符优先级将成为您代码中的一个问题。

根据我对你的公式的理解,你会希望它这样读;

Answer = (loanAmount * interestRate) / (1.0 - Math.Pow(1.0 / 1.0 + interestRate, loanPeriod));

这应该使您的优先级正确,并处理可能出现的任何浮点数学问题(请注意 1 -> 1.0 的变化)

正如 Ron 在评论中提到的,您可能还需要考虑从 double 更改为 decimal 以提高精度。