DataGridView にすべての支払いと、各支払いの利息と元本を入力する住宅ローン計算機を作成しています。最後の列は支払い後の残高です。
問題は次のとおりです。
住宅ローンの支払い、利息、および元本の計算はすべて適切ですが、支払い期間の終わりにまだ大きな残高があるため、何らかの理由で残高の計算が間違っているように見えます。
私はまだ vb に慣れていないので、私のコードはだらしがないかもしれません。実際、それは私の最初のクラスです。
Private Sub AmortButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AmortButton.Click 'initiate click event'
Dim Amt As Double = Amount.Text() 'read in amount'
Dim Intr As Double = Intrest.Text() 'read in intrest'
Dim Yrs As Double = Term.Text() 'read in years'
Dim payment As Double = (Yrs * 12) 'convert years to payment periods
'
Dim IntrDec As Double = ((Intr / 100) / 12) 'convert APR to monthly rate as a decimal'
Dim TempAmt As Double = Amt 'setting Temperory balance
For i As Double = 1 To payment Step i + 1 'setting for-loop paramaters'
Dim MP = Math.Round((Pmt(IntrDec, payment, Amt) * -1), 2) 'calculate Mortgage payment'
Dim IP = Math.Round((IPmt(IntrDec, i, payment, Amt) * -1), 2) 'calculate Intrest paid'
Dim PP = Math.Round((PPmt(IntrDec, i, payment, Amt) * -1), 2) 'calculate priciple paid
Amt = Amt - PP 'setting new balance'
Dim RM = Math.Round((Amt), 2) 'rounding balance to two decimals'
AmortTable.Rows.Add(i, MP, IP, PP, RM) 'adding row entry to table'
Next 'end for-loop'