Calculator Error (Overflow) (Please Reply)
If you've seen my other posts, then you know I have been making a calculator for my first program. I have been working on it for about 4 days now, trying to fix every error I come across. I have one more. If somone tries to do a problem, like 9999^9999 then the number will be to high, and they will get an overflow error. I need to know how I can set it up so if the answer is too high, then it makes the answer be somthing like '"Error! Number too high", and display that in the answer box on the calculator. Ive tried to set it so if:
Quote:
Number1^Number2 > 999999999999999 then Answer = "Error"
Screen = Answer
Yet, I still get the overflow error.
P.S. I also have that problem with regular multiplication.
Re: Calculator Error (Overflow) (Please Reply)
One option could be to use an On Error statement.
VB Code:
Private Sub Command1_Click()
On Error Goto CalcError
Answer = Number1^Number2
Screen = Answer
exit sub
CalcError:
Screen = "Error"
End Sub
Re: Calculator Error (Overflow) (Please Reply)
I have this:
VB Code:
On Error GoTo CalcError
If OpperationType = "Sub" Then Answer = GetMathOpperation - CurrentScreen
If OpperationType = "Div" And CurrentScreen = 0 Then CurrentScreen = 1
If OpperationType = "Div" Then Answer = GetMathOpperation / CurrentScreen
If OpperationType = "Pow" Then Answer = GetMathOpperation ^ CurrentScreen
If OpperationType = "Mult" Then Answer = GetMathOpperation * CurrentScreen
If Answer = "" Then Answer = "0"
Exit Sub
CalcError:
Answer = "Error"
And when I try to do 9x2 for example, when I click equals, it just sits there.
P.S. Sorry to be a noob, I have only been learning vb for about a week now.
Re: Calculator Error (Overflow) (Please Reply)
post your code when you do your 9X2 example
1 Attachment(s)
Re: Calculator Error (Overflow) (Please Reply)
I cant really, show you in a few lines. I have it setup a little funny. Let me just give you the entire source (I Deleted the On Error function, so dont bother looking for it).
Re: Calculator Error (Overflow) (Please Reply)
I don't get an over flow message as you must ahve changed "Answer" to a string?
Anyway, this now works for me.
VB Code:
If CurrentScreen = "" = False Then
If GetMathOpperation <> "" Then
If OpperationType <> "" Then
CurrentScreen = Screen
If OpperationType = "Mult" Or OpperationType = "Pow" Then
If Check2 = False Then CurrentScreen = "1"
Else
If Check2 = False Then
CurrentScreen = "0"
End If
End If
If OpperationType = "Add" Then
Number1 = GetMathOpperation
Number2 = CurrentScreen
Answer = Number1 + Number2
Else
If OpperationType = "Sub" Then Answer = GetMathOpperation - CurrentScreen
If OpperationType = "Div" And CurrentScreen = 0 Then CurrentScreen = 1
If OpperationType = "Div" Then Answer = GetMathOpperation / CurrentScreen
If OpperationType = "Pow" Then Answer = GetMathOpperation ^ CurrentScreen
If OpperationType = "Mult" Then Answer = GetMathOpperation * CurrentScreen
If Answer = "" Then Answer = "0"
End If
Check1 = False
Check2 = False
OpperationType = "0"
CurrentScreen = "0"
Number1 = 0
Number2 = 0
GetMathOpperation = "0"
Screen = Answer
NewPress = False
DidDec = False
Else
Screen = CurrentScreen
End If
End If
End If
Re: Calculator Error (Overflow) (Please Reply)
I get the error when I press 999^999 (or somthing higher). Again, sorry to be a noob.
Re: Calculator Error (Overflow) (Please Reply)
My mistake :(
VB Code:
Private Sub Equal_Click(Index As Integer)
On Error GoTo CalcError
If CurrentScreen = "" = False Then
If GetMathOpperation = "" = False Then
If OpperationType = "" = False Then
CurrentScreen = Screen
If OpperationType = "Mult" Or OpperationType = "Pow" Then
If Check2 = False Then CurrentScreen = "1"
Else
If Check2 = False Then
CurrentScreen = "0"
End If
End If
If OpperationType = "Add" Then
Number1 = GetMathOpperation
Number2 = CurrentScreen
Answer = Number1 + Number2
Else
If OpperationType = "Sub" Then Answer = GetMathOpperation - CurrentScreen
If OpperationType = "Div" And CurrentScreen = 0 Then CurrentScreen = 1
If OpperationType = "Div" Then Answer = GetMathOpperation / CurrentScreen
If OpperationType = "Pow" Then Answer = GetMathOpperation ^ CurrentScreen
If OpperationType = "Mult" Then Answer = GetMathOpperation * CurrentScreen
If Answer = "" Then Answer = "0"
End If
Check1 = False
Check2 = False
OpperationType = "0"
CurrentScreen = "0"
Number1 = 0
Number2 = 0
GetMathOpperation = "0"
Screen = Answer
NewPress = False
DidDec = False
Else
Screen = CurrentScreen
End If
End If
End If
Exit Sub
CalcError:
Screen = "Error"
End Sub
Re: Calculator Error (Overflow) (Please Reply)
Thank you, it works pefectly.
Re: Calculator Error (Overflow) (Please Reply)