PDA

View Full Version : Why does it say I keep dividing by zero?


emmet11
Jan 17, 2010, 04:13 PM
This is my code and it tells me I'm dividing by zero but I don't understand why.

Dim WallWidth As Decimal 'width of wall
Dim WallHeight As Decimal 'height of wall
Dim RollLength As Decimal ' length of wallpaper roll
Dim RollWidth As Decimal ' width of wallpaper roll
Dim areawall As Integer
Dim area As Integer
Dim NumofRoll As Integer 'number of rolls needed
Dim totroll As Integer

'Text box is numeric
If txtwidthwall.Text <> "" Then
'assign text box
If IsNumeric(txtwidth.Text) Then
WallWidth = Convert.ToInt32(txtwidth.Text)
ElseIf IsNumeric(txtheight.Text) Then
WallHeight = Convert.ToInt32(txtheight.Text)
ElseIf IsNumeric(txtlengthwall.Text) Then
RollLength = Convert.ToInt32(txtlengthwall.Text)
ElseIf IsNumeric(txtwidthwall.Text) Then
RollWidth = Convert.ToInt32(txtwidthwall.Text)

Else
MessageBox.Show("Please enter number.", _
"Wallpaper", MessageBoxButtons.OK, _
MessageBoxIcon.Information, _
MessageBoxDefaultButton.Button1)

End If
areawall = (WallWidth * WallHeight)
area = (RollLength * RollWidth)
totroll = Convert.ToInt32(areawall / area)
End If
Me.lbltotal.Text = Convert.ToString(totroll)

Scleros
Jan 17, 2010, 11:54 PM
I only see one place where you are dividing anything and the variable is area, so area is ending up with a value of 0. Stick in some messageboxes at various locations throughout the program to show variable values, or else trace through it. Int conversions can also truncate yielding unexpected results.