Как заставить сообщение об ошибке появляться, когда 2-е число в делении равно 0, используя функции VB.Net - PullRequest
0 голосов
/ 02 июня 2018

Я пытаюсь получить false, когда a / b, где b равно 0, чтобы мое сообщение об ошибке отображалось пользователю.До сих пор мне удалось выполнить проверку в моем сабвуфере, но мне нужно, чтобы проверка была в функции.В настоящее время я получаю бесконечность в результате, когда, например, 7 делится на 0. Я в основном сделал довольно простой калькулятор и буду признателен за любую помощь.

Функция:

Private Function validationCheck() As Boolean
    ' The following checks if the two fields are numerical values, are not blank and if the 2nd number is not zero
    'The latter is for the purpose of division
    'If the fields meet the above conditions then true is returned
    'Else if either one is not met, then false is returned
    If IsNumeric(txt1stNumber.Text) And txt1stNumber.Text <> "" And IsNumeric(txt2ndNumber.Text) And txt2ndNumber.Text <> "" Then
        Return True
    Else
        Return False
    End If
End Function

Дивизион Sub

 Private Sub btnDivide_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDivide.Click

    'The following sub is the code for the division button.
    'First it checks whether false is returned from the ValidationCheck funtion
    'If so, an error message is shown
    'Else if true is returned, then the values are divided together to form the result

    If validationCheck() = False Then
        MsgBox("Please enter a numerical value for both fields. Also, field cannot be left blank.")
    ElseIf validationCheck() = True Then
        lblResult.Text = Val(txt1stNumber.Text) / Val(txt2ndNumber.Text)
    End If

1 Ответ

0 голосов
/ 02 июня 2018

Вы можете добавить еще одно условие в вашу функцию для оценки txt2ndNumber.Text, как это, тогда, если число b равно 0 или 00, это также вернет false.

  Private Function validationCheck() As Boolean
     If IsNumeric(txt1stNumber.Text) And txt1stNumber.Text <> "" And IsNumeric(txt2ndNumber.Text) And txt2ndNumber.Text <> "" Then
        Dim number As Double = txt2ndNumber.Text
        If number = 0 Then
            Return False
        Else
            Return True
        End If
     Else
       Return False
     End If
  End Function
...