使用Math.Pow计算月度贷款

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Math.Pow计算月度贷款相关的知识,希望对你有一定的参考价值。

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

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

答案

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

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

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

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

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

以上是关于使用Math.Pow计算月度贷款的主要内容,如果未能解决你的问题,请参考以下文章

为啥这段代码使用 Math.pow 打印“HELLO WORLD”?

python函数深入浅出 11.math.pow()及其相关函数详解

在 Java 中使用 BigDecimal 手动 Math.pow

R Dataframe过滤:使用基于时间因素的唯一或重复功能

Math.pow 是不是比使用临时分配的乘法更昂贵?

舍入为整数的 Java Math.pow 多次返回相同的数字