使用Math.Pow计算月度贷款

问题描述 投票:0回答:1

我试图使用以下公式计算每月的贷款支付:

Loan Formula

其中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函数不太熟悉(以为我之前曾经使用过它),所以我不确定我是否正确使用它。如果有人有任何建议,将不胜感激!

c# webforms pow
1个回答
0
投票

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

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

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

这应该是你的优先权正确,以及处理可能出现的任何浮点数学问题(注意从1 - > 1.0的变化)

正如Ron在评论中所提到的,你可能还想考虑从double更改为decimal以获得精确度。

© www.soinside.com 2019 - 2024. All rights reserved.