我目前正在尝试计算C#中的每月付款计划,给出贷款金额,费率和持续时间。
我的教授提供了作业的可执行版本,但没有代码。 与此同时,他给了我们计算每月付款的公式:
要获得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的人来为我解决我的作业,我使用它们作为资源来帮助我解决我的问题,并将在我的应用程序的评论中说明这个帖子。
答案 0 :(得分:3)
仔细检查你的时间单位。
听起来你可能正在使用年利率,但这个术语以月计算。
答案 1 :(得分:2)
您应该使用月度百分比数字作为费率,而不是每年。这是相当明显的,因为每月1.44美元,你将在大约九个月而不是十二年内偿还你的贷款: - )
12%p.a。每年aprPercent
为0.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
或者十六美分,正如你的教育工作者告诉你的那样。