C# - 数学公式帮助 - 家庭作业

时间:2011-09-07 23:46:54

标签: c# math

我目前正在尝试计算C#中的每月付款计划,给出贷款金额,费率和持续时间。

我的教授提供了作业的可执行版本,但没有代码。 与此同时,他给了我们计算每月付款的公式:

enter image description here

要获得APR,用户在文本框中输入了百分比,我将数字除以100得到小数。

要获得持续时间,用户在文本框中输入年份,然后我将数字乘以12以获得数月。

我的C#代码如下所示:

payment = (loanAmount*aprPercent) / (1-Math.Pow((1+aprPercent), -durationMonths));

我已经三次检查,看到该代码遵循我教授提供的公式。

然而,当我在我的教授可执行文件中使用完全相同的输入时,就像我在我的应用程序中那样,这些数字已经过时了。

例如: 我在矿山和教授的申请中输入12%年利率,12年期限和12美元贷款。他每月支付0.16美元,每月支付1.44美元。

请记住,我确实偏离了12%/ 100来获得aprPercent的.12。并乘以12 * 12得到durationMonths。所以我不明白为什么我们的产出会有所不同。

请注意,这不是我的作业范围,这只是作业的一部分,在完成作业的其余部分之前我需要弄清楚。它将于下周五到期,所以我没有拖延。我不是试图使用StackOverflow的人来为我解决我的作业,我使用它们作为资源来帮助我解决我的问题,并将在我的应用程序的评论中说明这个帖子。

2 个答案:

答案 0 :(得分:3)

仔细检查你的时间单位。

听起来你可能正在使用年利率,但这个术语以月计算。

答案 1 :(得分:2)

您应该使用月度百分比数字作为费率,而不是每年。这是相当明显的,因为每月1.44美元,你将在大约九个月而不是十二年内偿还你的贷款: - )

12%p.a。每年aprPercent0.12,但每月等值为0.12 / 12 = 0.01

    12 x 0.01
  ------------
          -144
  1 - 1.01


        0.12
= ---------------
  1 - 0.238628425


      0.12
= -----------
  0.761371575


= 0.157610297

或者十六美分,正如你的教育工作者告诉你的那样。