Arithmetic operation resulted in an overflow.

I am getting the error Arithmetic operation resulted in an overflow.

Function setthepercentage(ByVal thegoals As List(Of Integer), ByVal thename As String) As String

        Dim over05 As Integer = 0
        Dim over15 As Integer = 0
        Dim over25 As Integer = 0
        Dim countelements As Integer = 0
        'work out if it is 0.5 - 1,3,4,5,3,2,4,5,

        For Each element As String In thegoals
            'chekc if over 0.5
            countelements = countelements + 1
            If element > 0 Then
                over05 = over05 + 1
                'check if over 1.5
            ElseIf element > 1 Then
                over15 = over05 + 1
                'check if over 2.5
            ElseIf element > 2 Then
                over25 = over05 + 1
            End If

        Next

        over05 = (over05 / countelements) * 100
        If over05 <> "NaN" Then
            Session(thename & "over05") = over05
        End If
        over15 = (over15 / countelements) * 100

        If over15 <> "NaN" Then
            Session(thename & "over15") = over15
        End If

        over25 = (over25 / countelements) * 100

        If over25 <> "NaN" Then
            Session(thename & "over25") = over25
        End If
    End Function

Open in new window


What its supposed to do is set the percentage...  

so if elements number if greater then 0 i added 1 to the tally

 If element > 0 Then
   over05 = over05 + 1
end if

Open in new window

I also count how many times it goes through a loop so

        countelements = countelements + 1

Open in new window

this give me the numbers to work with so:

over05 = (over05 / countelements) * 100

Open in new window


but this gives me the error Arithmetic operation resulted in an overflow.
runnerjp2005Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

AndyAinscowFreelance programmer / ConsultantCommented:
Use Long instead of Integer as the data type
0
runnerjp2005Author Commented:
I seem to get the same error
0
AndyAinscowFreelance programmer / ConsultantCommented:
I'd single step through your code (or use a pencil and paper and work through it).  There might be something wrong in the logic.
If it overruns a Long we are talking pretty BIG numbers.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Starting with Angular 5

Learn the essential features and functions of the popular JavaScript framework for building mobile, desktop and web applications.

Carl TawnSystems and Integration DeveloperCommented:
Can you post samples of some input values that cause the overflow?
0
CodeCruiserCommented:
Could the problem be with following conditions?

If over05 <> "NaN" Then

Comment these out and see what happens.

If you still get an error, tell us on which line.
0
runnerjp2005Author Commented:
Walked through it and found i had 0 0/0*0 cant be done :) thanks
0
Jacques Bourgeois (James Burger)PresidentCommented:
It can be done, but by putting the result in a Double, which is able to record an infinite.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
ASP.NET

From novice to tech pro — start learning today.