## Introduction

`MathParser`

is a class that can calculate the result of mathematic operations given as `string `

such as "`3+5/2-3*(1+3)`

". It can also calculate the result of parametric formulas such as `3A+5B/2C`

. Calculation is made by operation order(/,*,-,+) and parenthesis rule. In some projects, users want to create a formula dynamically. This is a useful method for calculating the values of these types of 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 by 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 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)");

## History

- 20.01.2007: Initial release

For bug reports and suggestions, feel free to contact me at oztamer@hotmail.com.

Tamer Oz is a Microsoft MVP and works as Assistant Unit Manager.