Калькулятор VB 2010 с использованием нескольких пользовательских вводов - «преобразование из строки в целое число недопустимо» - PullRequest
0 голосов
/ 15 мая 2018

Когда я начинаю набирать более 1 цифры в первом текстовом поле (txtCurBat), оно вылетает и выдает сообщение об ошибке в коде:

InvalidCastException не обработано

Недопустимое преобразование из строки "" в тип "Integer".

(это появляется рядом со строкой, где я пометил / *)

Цель программы:

Выполнять вычисления при внесении изменений в текстовые поля и выводить их в одну метку. Когда вы вносите изменения, выходные данные изменяются одновременно.

Вот подпрограмма с ошибкой. Пожалуйста, помогите.

Private Sub txtCurBat_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCurBat.TextChanged
    Dim curBat As Integer = 1
    Dim totalBat As Integer = 1
    Dim TotalDam As Integer = 1
    Dim totalNeededDam As Integer = 1
    Dim damPerBat As Integer = 1
    Dim desAverDam As Integer = 1
    Dim approxBat As Integer = 1
    Dim curDam As Integer = 1
    Dim curAvDam As Integer = 1


    curBat = txtCurBat.Text
    approxBat = txtApproxBat.Text /*
    curAvDam = txtCurAvDam.Text
    desAverDam = txtDesAvDam.Text


    curDam = curBat * curAvDam
    totalBat = curBat + approxBat
    TotalDam = totalBat * desAverDam
    totalNeededDam = TotalDam - curDam
    damPerBat = totalNeededDam / approxBat

    lblOutput.Text = damPerBat

End Sub

Спасибо

1 Ответ

0 голосов
/ 15 мая 2018

Вы не можете преобразовать пустую строку во что угодно, кроме пустой строки. Если строка пуста, замените ее на «0».

Вы также можете использовать что-то вроде этого

        If Integer.TryParse(xString, Result) Then
          Dim x As Integer= 2 * Result 
            'do something
        End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...