使用Math.Pow计算月度贷款
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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
以获得精确度。
以上是关于使用Math.Pow计算月度贷款的主要内容,如果未能解决你的问题,请参考以下文章
为啥这段代码使用 Math.pow 打印“HELLO WORLD”?
python函数深入浅出 11.math.pow()及其相关函数详解
在 Java 中使用 BigDecimal 手动 Math.pow