2011-09-07 33 views
2

我目前正在嘗試計算C#中的每月付款計劃,給定貸款金額,費率和年數。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美元。

請記住,我沒有devide 12%/ 100以獲取aprPercent一0.12。乘以12 * 12得到durationMonths。所以我不明白爲什麼我們的產出會有不同。

請注意這不是我的任務範圍,這只是我在完成作業的其餘部分之前需要弄清的作業的一部分。這是星期五下週,所以我沒有拖延。我並不是想用StackOverflow的人來爲我解決功課,而是將它們用作資源來幫助我解決問題,並在我的應用程序的註釋中聲明這個線程。

+1

請注意不要做任何整數除法。記住'12/100 == 0' – CodesInChaos

回答

2

您應該使用的速度,而不是每年一個百分比數字。這是相當明顯的,因爲在一個月1.44 $,你會在九個月左右,而超過12年還清您的貸款:-)

12%年息給你的0.12每年aprPercent但每月相當於是0.12/12 = 0.01

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


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


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


= 0.157610297 

或十六美分,爲你的教育告訴你。

3

仔細檢查你的時間單位。

聽起來你可能使用的是年利率,然而,這在幾個月測量的術語。