Introduction
MathParser is a class that can calculate the result of mathematic operations given as string such as "3+5/2-3*(1+3)". Also it can calculate the result of parametric formulas such as 3A+5B/2C. Calculation is made by operation order(/,*,-,+) and paranthesis rule. In some projects users wants to create a formula dynamically. This is a useful method for calculating the values of this type formulas.
Background
The basic idea of this code is parsing the string correctly, converting values to decimal and calculating them with the operator.
Using the code
Using the code is pretty simple,
For basic use developers should call the calculate method with passing the formula.
MathFunctions.MathParser mp = new MathFunctions.MathParser();
decimal result = mp.Calculate("5/(1-2)+(3+(2/1))");
For parametric use developers should declare parameters before calling the calculate method, then call the method with passing the formula as seen below
MathFunctions.MathParser mp = new MathFunctions.MathParser();
mp.Parameters.Add(MathFunctions.Parameters.A, 5);
mp.Parameters.Add(MathFunctions.Parameters.B, 2);
mp.Parameters.Add(MathFunctions.Parameters.C, 1);
mp.Parameters.Add(MathFunctions.Parameters.D, 3);
decimal result = mp.Calculate("3D-2B/C+(A-B)");
Download Source