# Evaluate Equation

Email
 Submitted on: 2/12/2015 4:39:00 PM By: Lefteris Eleftheriades (from psc cd) Level: Intermediate User Rating: By 5 Users Compatibility: VB 5.0, VB 6.0 Views: 1258

Evaluate any Mathematical Equation like: Evaluate("(5+3)*2")

code:
Can't Copy and Paste this?
 ``` '************************************** ' Name: Evaluate Equation ' Description:Evaluate any Mathematical Equation like: Evaluate("(5+3)*2") ' By: Lefteris Eleftheriades (from psc cd) '************************************** Function Evaluate(ByVal Equation As String) Dim i&, P%, Si& Equation = Replace(Replace(Equation, ",", "."), "--", "") 'Parenthesis Begins with outermost For i = 1 To Len(Equation) If Mid(Equation, i, 1) = "(" Then P = P + 1 If P = 1 Then Si = i End If If Mid(Equation, i, 1) = ")" Then If P = 1 Then Evaluate = Evaluate(Mid(Equation, 1, Si - 1) & Evaluate(Mid(Equation, Si + 1, i - 1 - Si)) & Mid(Equation, i + 1)) Exit Function End If P = P - 1 End If Next 'Addition / Substruction For i = Len(Equation) To 1 Step -1 If Mid(Equation, i, 1) = "+" Then If i > 1 Then If Mid(Equation, i - 1, 1) <> "*" And Mid(Equation, i - 1, 1) <> "/" Then Evaluate = Evaluate(Mid(Equation, 1, i - 1)) + Evaluate(Mid(Equation, i + 1)) Exit Function End If Else Evaluate = Evaluate(Mid(Equation, 1, i - 1)) + Evaluate(Mid(Equation, i + 1)) Exit Function End If End If If Mid(Equation, i, 1) = "-" Then If i > 1 Then If Mid(Equation, i - 1, 1) <> "*" And Mid(Equation, i - 1, 1) <> "/" Then Evaluate = Evaluate(Mid(Equation, 1, i - 1)) - Evaluate(Mid(Equation, i + 1)) Exit Function End If Else Evaluate = Evaluate(Mid(Equation, 1, i - 1)) - Evaluate(Mid(Equation, i + 1)) Exit Function End If End If Next 'Multiplication / Division For i = Len(Equation) To 1 Step -1 If Mid(Equation, i, 1) = "*" Then Evaluate = Evaluate(Mid(Equation, 1, i - 1)) * Evaluate(Mid(Equation, i + 1)) Exit Function End If If Mid(Equation, i, 1) = "/" Then Evaluate = Evaluate(Mid(Equation, 1, i - 1)) / Evaluate(Mid(Equation, i + 1)) Exit Function End If Next Evaluate = Val(Equation) End Function```

Use this form to tell us if this entry should be deleted (i.e contains no code, is a virus, etc.).
This submission should be removed because:

What do you think of this code (in the Intermediate category)?
(The code with your highest vote will win this month's coding contest!)
Excellent  Good  Average  Below Average  Poor (See voting log ...)