Калькулятор займов на основе Visual Basic с использованием функций

Мне нужно создать калькулятор займа, который использует функции для предоставления значений, для текстовых полей, на основе того, на какой щелчок переключателя. Затем мне нужно использовать Sub, чтобы сообщить результат с меткой.

Я думаю, что я начал в правильном направлении, но у меня нет фона в vb, поэтому, пожалуйста, несите меня.

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
 Dim Payment As ******
 Dim Nper As ******
 Dim LoanIRate As ******
 Dim LoanDuration As Integer
 Dim LoanAmount As Integer


 If rdbmp1.Checked Then
 Payment = Pmt(LoanIRate, LoanDuration, -LoanAmount, 0, )
 TextBox4.Text = Payment.ToString("#.00")
 End If
 If rdbamt1.Checked Then
 LoanAmount = PV(LoanIRate / 1200, LoanDuration, -Payment)
 TextBox1.Text = Payment.ToString("#.00")
 End If
 If rdbir1.Checked Then
 LoanIRate = 1200 * Rate(LoanDuration, Payment - LoanAmount)
 TextBox2.Text = Payment.ToString("#.00")
 End If
 If rdbdl1.Checked Then
 LoanDuration = Nper(LoanIRate / 1200, Payment, -LoanAmount)
 TextBox3.Text = Payment.ToString("#.00")
 End If
End Sub

На данный момент единственным правилом, который работает для меня правильно, является ежемесячный платеж, все остальные имеют ошибки сборки.

1 ответ

PV - это настраиваемый метод, наиболее вероятно определенный в вашем проекте одной из ваших библиотек. В настоящее время вы передаете ему три параметра, но, по-видимому, он должен ожидать большего. Поскольку я не знаю, какие параметры он ожидает, я не могу ответить, что еще нужно передать. Если вы щелкните правой кнопкой мыши по имени метода PV и выберите опцию Go To Definition, вы сможете увидеть, какие параметры для этого метода.

Второе сообщение об ошибке, которое вы упомянули, пытается объяснить, что Nper не является методом, но вы пытаетесь назвать его так, как если бы он был одним. Фактически это может быть имя реального метода, но вы определили локальную переменную как Dim Nper As ******, поэтому она думает, что вы ссылаетесь на это имя переменной, а не на метод. Чтобы исправить это, вы, вероятно, должны просто переименовать или удалить эту локальную переменную.

licensed under cc by-sa 3.0 with attribution.