кредитный калькулятор с использованием финансовых.метод ppmt

Задача состоит в том, чтобы пользователь ввел основную сумму, а также выбрал процентную ставку из поля со списком, а также условия. Пользовательский интерфейс должен отображать ежемесячный платеж в метке, а также сколько из этого платежа идет на основной и сколько идет на проценты в многострочном текстовом поле. У меня возникли проблемы с завершением кода. Я не совсем уверен, если я не совсем получить финансовые.ppmt метод или что, но не только мой ежемесячный платеж не показывает точно, но я не могу получить многострочный текстовое поле информации (основная сумма и сумма процентов), чтобы отобразить должным образом.Если кто-то может помочь или хотя бы указать мне на подобную программу, я бы очень благодарен!

Option Explicit On
Option Strict On
Option Infer Off


Public Class MainForm
Private Sub ExitButton_Click(sender As Object, e As EventArgs) Handles ExitButton.Click
    Me.Close()

End Sub

Private Sub CalcButton_Click(sender As Object, e As EventArgs) Handles CalcButton.Click
    'Calculates the monthly payments on a loan using 
    'annual interest rates from 2%-10% and terms from 1-30 years

    Dim Principal As Double
    Dim term As Integer
    Dim rate As Double
    Dim monthlyPayment As Double
    Dim interest As Double

    'assign input to variables
    Double.TryParse(PrincipalTextBox.Text, Principal)
    term = Convert.ToInt32(TermComboBox.SelectedItem)

    'clear text boxes
    PaymentValue.Text = String.Empty
    PrincipleAndInterestBox.Text = String.Empty

    'calculate and display monthly payments
    monthlyPayment = -Financial.Pmt(rate / 12, 12, term * 12, Principal)
    MonthlyPaymentLabel.Text = monthlyPayment.ToString("C2")

    'Calculate the amount applied to principal and interest
    For per As Integer = 12 To 1 Step -1
        Principal = -Financial.PPmt(rate / 12, per, 12, Principal)
        interest = monthlyPayment - Principal
        PrincipleAndInterestBox.Text = Principal.ToString("C2") & "         " & interest.ToString("C2") & ControlChars.NewLine

    Next per
    PrincipleAndInterestBox.Focus()
End Sub

Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles Me.Load
    'fill termComboBox
    For term As Integer = 1 To 30
        TermComboBox.Items.Add(term.ToString)
    Next term
    TermComboBox.SelectedItem = "10"

    'fill interestRateComboBox
    For rate As Integer = 2 To 10
        InterestRateComboBox.Items.Add(rate.ToString)
    Next rate
    InterestRateComboBox.SelectedItem = "4"
End Sub

Конец Класса

1 ответ

  1. перейдите к свойствам textbox и выберите multiline = true

    в цикле вы присваиваете новое значение textbox и пропускаете существующее значение.

    PrincipleAndInterestBox.Text = PrincipleAndInterestBox.Text & Principal.ToString("C2") & "         " & interest.ToString("C2") & ControlChars.NewLine
    

    Или

    textBox1.Multiline = True
    textBox1.ScrollBars = ScrollBars.Vertical
    textBox1.WordWrap = True
    textBox1.Text = "Welcome!" & Environment.NewLine & "Second Line"