why does "Conversion from string "" to type 'Decimal' is not valid." keep appearing

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • silverkaito
    New Member
    • Oct 2014
    • 2

    #1

    why does "Conversion from string "" to type 'Decimal' is not valid." keep appearing

    i'm creating gpa and cgpa calculator for my school project. and i'm a newbie to this visual basic thingy. so do help me, pls.

    here's my code

    Code:
    Public Class Form1
        Dim CreditHour1 As Integer
        Dim CreditHour2 As Integer
        Dim CreditHour3 As Integer
        Dim CreditHour4 As Integer
        Dim CreditHour5 As Integer
        Dim CreditHour6 As Integer
        Dim CreditHour7 As Integer
        Dim TotalCreditHours As Integer
    
    
        Private Sub ButtonTotal_Click(sender As System.Object, e As System.EventArgs) Handles ButtonTotal1.Click
    
            CreditHour1 = TextBoxCreditHour1.Text
            CreditHour2 = TextBoxCreditHour2.Text
            CreditHour3 = TextBoxCreditHour3.Text
            CreditHour4 = TextBoxCreditHour4.Text
            CreditHour5 = TextBoxCreditHour5.Text
            CreditHour6 = TextBoxCreditHour6.Text
            CreditHour7 = TextBoxCreditHour7.Text
            TotalCreditHours = CreditHour1 + CreditHour2 + CreditHour3 + CreditHour4 + CreditHour5 + CreditHour6 + CreditHour7
            LabelCreditHours2.Text = TotalCreditHours
    
    
        End Sub
    
        Private Sub ButtonExit_Click(sender As System.Object, e As System.EventArgs) Handles ButtonExit.Click
            Close()
        End Sub
    
        Private Sub ButtonTotal2_Click(sender As System.Object, e As System.EventArgs) Handles ButtonTotal2.Click
           
            Dim TotalGradePoints1 As Double
            Dim TotalGradePoints2 As Double
            Dim TotalGradePoints3 As Double
            Dim TotalGradePoints4 As Double
            Dim TotalGradePoints5 As Double
            Dim TotalGradePoints6 As Double
            Dim TotalGradePoints7 As Double
            Dim TotalTotalGradePoints As Double
    
            TotalGradePoints1 = TextBoxTotalGradePoints1.Text
            TotalGradePoints2 = TextBoxTotalGradePoints2.Text
            TotalGradePoints3 = TextBoxTotalGradePoints3.Text
            TotalGradePoints4 = TextBoxTotalGradePoints4.Text
            TotalGradePoints5 = TextBoxTotalGradePoints5.Text
            TotalGradePoints6 = TextBoxTotalGradePoints6.Text
            TotalGradePoints7 = TextBoxTotalGradePoints7.Text
            LabelTotalGradePoints2.Text = TotalTotalGradePoints
    
            CreditHour1 = TextBoxCreditHour1.Text
            CreditHour2 = TextBoxCreditHour2.Text
            CreditHour3 = TextBoxCreditHour3.Text
            CreditHour4 = TextBoxCreditHour4.Text
            CreditHour5 = TextBoxCreditHour5.Text
            CreditHour6 = TextBoxCreditHour6.Text
            CreditHour7 = TextBoxCreditHour7.Text
    
            Select Case ComboBox1.Text
                Case "A"
                    TotalGradePoints1 = 4 * CreditHour1
                Case "A-"
                    TotalGradePoints1 = 3.75 * CreditHour1
                Case "B+"
                    TotalGradePoints1 = 3.5 * CreditHour1
                Case "B"
                    TotalGradePoints1 = 3.0 * CreditHour1
                Case "B-"
                    TotalGradePoints1 = 2.75 * CreditHour1
                Case "C+"
                    TotalGradePoints1 = 2.5 * CreditHour1
                Case "C"
                    TotalGradePoints1 = 2.0 * CreditHour1
                Case "C-"
                    TotalGradePoints1 = 1.75 * CreditHour1
                Case "D"
                    TotalGradePoints1 = 1 * CreditHour1
                Case "F"
                    TotalGradePoints1 = 0 * CreditHour1
    
            End Select
    
            Select Case ComboBox2.Text
                Case "A"
                    TotalGradePoints2 = 4 * CreditHour2
                Case "A-"
                    TotalGradePoints2 = 3.75 * CreditHour2
                Case "B+"
                    TotalGradePoints2 = 3.5 * CreditHour2
                Case "B"
                    TotalGradePoints2 = 3.0 * CreditHour2
                Case "B-"
                    TotalGradePoints2 = 2.75 * CreditHour2
                Case "C+"
                    TotalGradePoints2 = 2.5 * CreditHour2
                Case "C"
                    TotalGradePoints2 = 2.0 * CreditHour2
                Case "C-"
                    TotalGradePoints2 = 1.75 * CreditHour2
                Case "D"
                    TotalGradePoints2 = 1 * CreditHour2
                Case "F"
                    TotalGradePoints2 = 0 * CreditHour2
    
            End Select
    
            Select Case ComboBox3.Text
                Case "A"
                    TotalGradePoints3 = 4 * CreditHour3
                Case "A-"
                    TotalGradePoints3 = 3.75 * CreditHour3
                Case "B+"
                    TotalGradePoints3 = 3.5 * CreditHour3
                Case "B"
                    TotalGradePoints3 = 3.0 * CreditHour3
                Case "B-"
                    TotalGradePoints3 = 2.75 * CreditHour3
                Case "C+"
                    TotalGradePoints3 = 2.5 * CreditHour3
                Case "C"
                    TotalGradePoints3 = 2.0 * CreditHour3
                Case "C-"
                    TotalGradePoints3 = 1.75 * CreditHour3
                Case "D"
                    TotalGradePoints3 = 1 * CreditHour3
                Case "F"
                    TotalGradePoints3 = 0 * CreditHour3
    
            End Select
    
            Select Case ComboBox4.Text
                Case "A"
                    TotalGradePoints4 = 4 * CreditHour4
                Case "A-"
                    TotalGradePoints4 = 3.75 * CreditHour4
                Case "B+"
                    TotalGradePoints4 = 3.5 * CreditHour4
                Case "B"
                    TotalGradePoints4 = 3.0 * CreditHour4
                Case "B-"
                    TotalGradePoints4 = 2.75 * CreditHour4
                Case "C+"
                    TotalGradePoints4 = 2.5 * CreditHour4
                Case "C"
                    TotalGradePoints4 = 2.0 * CreditHour4
                Case "C-"
                    TotalGradePoints4 = 1.75 * CreditHour4
                Case "D"
                    TotalGradePoints4 = 1 * CreditHour4
                Case "F"
                    TotalGradePoints4 = 0 * CreditHour4
    
            End Select
    
            Select Case ComboBox5.Text
                Case "A"
                    TotalGradePoints5 = 4 * CreditHour5
                Case "A-"
                    TotalGradePoints5 = 3.75 * CreditHour5
                Case "B+"
                    TotalGradePoints5 = 3.5 * CreditHour5
                Case "B"
                    TotalGradePoints5 = 3.0 * CreditHour5
                Case "B-"
                    TotalGradePoints5 = 2.75 * CreditHour5
                Case "C+"
                    TotalGradePoints5 = 2.5 * CreditHour5
                Case "C"
                    TotalGradePoints5 = 2.0 * CreditHour5
                Case "C-"
                    TotalGradePoints5 = 1.75 * CreditHour5
                Case "D"
                    TotalGradePoints5 = 1 * CreditHour5
                Case "F"
                    TotalGradePoints5 = 0 * CreditHour5
    
            End Select
    
            Select Case ComboBox6.Text
                Case "A"
                    TotalGradePoints6 = 4 * CreditHour6
                Case "A-"
                    TotalGradePoints6 = 3.75 * CreditHour6
                Case "B+"
                    TotalGradePoints6 = 3.5 * CreditHour6
                Case "B"
                    TotalGradePoints6 = 3.0 * CreditHour6
                Case "B-"
                    TotalGradePoints6 = 2.75 * CreditHour6
                Case "C+"
                    TotalGradePoints6 = 2.5 * CreditHour6
                Case "C"
                    TotalGradePoints6 = 2.0 * CreditHour6
                Case "C-"
                    TotalGradePoints6 = 1.75 * CreditHour6
                Case "D"
                    TotalGradePoints6 = 1 * CreditHour6
                Case "F"
                    TotalGradePoints6 = 0 * CreditHour6
    
            End Select
    
            Select Case ComboBox7.Text
                Case "A"
                    TotalGradePoints7 = 4 * CreditHour7
                Case "A-"
                    TotalGradePoints7 = 3.75 * CreditHour7
                Case "B+"
                    TotalGradePoints7 = 3.5 * CreditHour7
                Case "B"
                    TotalGradePoints7 = 3.0 * CreditHour7
                Case "B-"
                    TotalGradePoints7 = 2.75 * CreditHour7
                Case "C+"
                    TotalGradePoints7 = 2.5 * CreditHour7
                Case "C"
                    TotalGradePoints7 = 2.0 * CreditHour7
                Case "C-"
                    TotalGradePoints7 = 1.75 * CreditHour7
                Case "D"
                    TotalGradePoints7 = 1 * CreditHour7
                Case "F"
                    TotalGradePoints7 = 0 * CreditHour7
    
            End Select
    
        End Sub
    
    
    End Class
    Last edited by Rabbit; Oct 19 '14, 04:07 PM. Reason: Please use [code] and [/code] tags when posting code or formatted data.
  • iam_clint
    Recognized Expert Top Contributor
    • Jul 2006
    • 1207

    #2
    You don't do any verification on any of the text boxes.
    Code:
    TotalGradePoints1 = TextBoxTotalGradePoints1.Text
    TotalGradePoints2 = TextBoxTotalGradePoints2.Text
    TotalGradePoints3 = TextBoxTotalGradePoints3.Text
    TotalGradePoints4 = TextBoxTotalGradePoints4.Text
    TotalGradePoints5 = TextBoxTotalGradePoints5.Text
    TotalGradePoints6 = TextBoxTotalGradePoints6.Text
    TotalGradePoints7 = TextBoxTotalGradePoints7.Text
    LabelTotalGradePoints2.Text = TotalTotalGradePoints
    
    CreditHour1 = TextBoxCreditHour1.Text
    CreditHour2 = TextBoxCreditHour2.Text
    CreditHour3 = TextBoxCreditHour3.Text
    CreditHour4 = TextBoxCreditHour4.Text
    CreditHour5 = TextBoxCreditHour5.Text
    CreditHour6 = TextBoxCreditHour6.Text
    CreditHour7 = TextBoxCreditHour7.Text
    if a textbox is blank it will give you a conversion error since you are trying to assign the text value of a text box to a double.

    look at double.tryparse (), and double.parse

    Comment

    • silverkaito
      New Member
      • Oct 2014
      • 2

      #3
      how do we do double.tryparse ?

      Comment

      • Frinavale
        Recognized Expert Expert
        • Oct 2006
        • 9749

        #4
        You use the Double.TryParse method like this:

        Code:
        Dim value As String = TextBoxCreditHour1.Text
        Dim number As Double
        
        If Double.TryParse(value, number) Then
          ' the value could successfully be converted into a Double
        Else
         ' the value could NOT be converted into a Double
        End If
        -Frinny

        Comment

        Working...