I how do make a basic cash register in visual basic?

I have designed it and now need to code it but find that it does not accept my functions for calculating the net price, vat , total incl vat and then rounding this off to two decimal places also ensuring it rejects a non numeric input on the net price text box, I have a calculate btn that runs runs the functions...please advice where I'm going wrong.

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim intTxtcost As Integer
        Dim inttxtamount As Integer
        Dim intvat As Integer
        intTxtcost = CInt(TXTCOST.Text)
        inttxtamount = CInt(TXTAMOUNT.Text)
        intvat = intTxtcost * inttxtamount / 100 * 17.5
        TXTVAT.Text = CStr(intvat)
        TXTRESULT.Text = intvat + intTxtcost


    End Sub
End Class

learn4lifeAsked:
Who is Participating?
 
samtran0331Connect With a Mentor Commented:
also keep in mind the order of operation for math (I always remember it using "MiDAS" = mulitiply, then divide, then add, then subtract)

so:
intvat = intTxtcost * inttxtamount / 100 * 17.5

intTxtcost *inttxtamount and
100*17.5
will happen first
then those two operations will get divided...be sure that is what you want, else use parenthesis
0
 
samtran0331Commented:
You have everything as integers, I would first suggest you use decimals instead.
And to validate a number, the quickest way would be like:
If IsNumeric(TXTCOST.Text) Then
intTxtcost = CInt(TXTCOST.Text)
End If

0
 
samtran0331Commented:
try:
            Dim decTxtcost As Decimal = 0.0
            Dim dectxtamount As Decimal = 0.0
            Dim decvat As Decimal = 0.0
            If IsNumeric(TXTCOST.Text) = True Then
                decTxtcost = CType(TXTCOST.Text, Decimal)
            End If
            If IsNumeric(TXTAMOUNT.Text) = True Then
                dectxtamount = CType(TXTAMOUNT.Text, Decimal)
            End If
            decvat = decTxtcost * dectxtamount / 100 * 17.5
            TXTVAT.Text = FormatNumber(decvat, 2)
            TXTRESULT.Text = FormatNumber(decvat + decTxtcost, 2)

Open in new window

0
 
learn4lifeAuthor Commented:
Thanks for this..I haven't tried it yet but given your creds I am pretty sure it s what I need.Thanks again.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.