# Simple expressions

## Case 1: Simple calculation

$$2+1$$

// JAVA: import org.mariuszgromada.math.mxparser.*;
// C#: using org.mariuszgromada.math.mxparser;
// ...
Expression e = new Expression("2+1");
mXparser.consolePrintln("Res: " + e.getExpressionString() + " = " + e.calculate());

[mXparser-v.5.2.1] Res: 2+1 = 3.0


## Case 2: Changing expression string

$$2-1$$

// JAVA: import org.mariuszgromada.math.mxparser.*;
// C#: using org.mariuszgromada.math.mxparser;
// ...
Expression e = new Expression("2+1");
e.setExpressionString("2-1");
mXparser.consolePrintln("Res: " + e.getExpressionString() + " = " + e.calculate());

[mXparser-v.5.2.1] Res: 2-1 = 1.0


## Case 3: Using operators

$$2-\frac{32-4}{23+\frac{4}{5}}-(2-4)(4+6-98.2)+4$$

// JAVA: import org.mariuszgromada.math.mxparser.*;
// C#: using org.mariuszgromada.math.mxparser;
// ...
Expression e = new Expression("2-(32-4)/(23+4/5)-(2-4)*(4+6-98.2)+4");
mXparser.consolePrintln("Res: " + e.getExpressionString() + " = " + e.calculate());

[mXparser-v.5.2.1] Res: 2-(32-4)/(23+4/5)-(2-4)*(4+6-98.2)+4 = -171.57647058823528


## Case 4: Power function

$$2^3+2^{3}+2^{3^{-4}}$$

// JAVA: import org.mariuszgromada.math.mxparser.*;
// C#: using org.mariuszgromada.math.mxparser;
// ...
Expression e = new Expression("2^3+2^(-3)+2^3^(-4)");
mXparser.consolePrintln("Res: " + e.getExpressionString() + " = " + e.calculate());

[mXparser-v.5.2.1] Res: 2^3+2^(-3)+2^3^(-4) = 9.133594091576999


## Case 5: Using numbers in scientific notation

// JAVA: import org.mariuszgromada.math.mxparser.*;
// C#: using org.mariuszgromada.math.mxparser;
// ...
Expression e1 = new Expression("1.2e2 + 1.2e+2 + 1.2e-2");
mXparser.consolePrintln("Res 1: " + e1.getExpressionString() + " = " + e1.calculate() );
Expression e2 = new Expression("1.2E2 + 1.2E+2 + 1.2E-2");
mXparser.consolePrintln("Res 2: " + e2.getExpressionString() + " = " + e2.calculate() );

[mXparser-v.5.2.1] Res 1: 1.2e2 + 1.2e+2 + 1.2e-2 = 240.012
[mXparser-v.5.2.1] Res 2: 1.2E2 + 1.2E+2 + 1.2E-2 = 240.012


## Case 6: Percent sign support

// JAVA: import org.mariuszgromada.math.mxparser.*;
// C#: using org.mariuszgromada.math.mxparser;
// ...
Expression e1 = new Expression("2%");
Expression e2 = new Expression("2% * 100");
Expression e3 = new Expression("pi% * 100");
mXparser.consolePrintln("Res 1: " + e1.getExpressionString() + " = " + e1.calculate());
mXparser.consolePrintln("Res 2: " + e2.getExpressionString() + " = " + e2.calculate());
mXparser.consolePrintln("Res 3: " + e3.getExpressionString() + " = " + e3.calculate());

[mXparser-v.5.2.1] Res 1: 2% = 0.02
[mXparser-v.5.2.1] Res 2: 2% * 100 = 2.0
[mXparser-v.5.2.1] Res 3: pi% * 100 = 3.141592653589793


## Case 7: Leading zeros support

// JAVA: import org.mariuszgromada.math.mxparser.*;
// C#: using org.mariuszgromada.math.mxparser;
// ...
Expression e1 = new Expression("00123");
Expression e2 = new Expression("-00123");
Expression e3 = new Expression("-00000123.123e-10");
mXparser.consolePrintln("Res 1: " + e1.getExpressionString() + " = " + e1.calculate());
mXparser.consolePrintln("Res 2: " + e2.getExpressionString() + " = " + e2.calculate());
mXparser.consolePrintln("Res 3: " + e3.getExpressionString() + " = " + e3.calculate());

[mXparser-v.5.2.1] Res 1: 00123 = 123.0
[mXparser-v.5.2.1] Res 2: -00123 = -123.0
[mXparser-v.5.2.1] Res 3: -00000123.123e-10 = -1.23123E-8


## Case 8: Fractions support

// JAVA: import org.mariuszgromada.math.mxparser.*;
// C#: using org.mariuszgromada.math.mxparser;
// ...
Expression e = new Expression("1_2 + 2_1_2");
mXparser.consolePrintln("Res: " + e.getExpressionString() + " = " + e.calculate());

[mXparser-v.5.2.1] Res: 1_2 + 2_1_2 = 3.0


## Case 9: New division operators (since v.6.0)

// Central & Eastern Europe ":"
Expression e1 = new Expression(("6:3"));
// Integer division (quotient) "\"
Expression e2 = new Expression(("7\\3"));

// Results
mXparser.consolePrintln(e1.getExpressionString() + " = " + e1.calculate() + " // Central & Eastern Europe division");
mXparser.consolePrintln(e2.getExpressionString() + " = " + e2.calculate() + " // Integer division (quotient)");

[mXparser-v.6.0.0] 6:3 = 2.0 // Central & Eastern Europe division
[mXparser-v.6.0.0] 7\3 = 2.0 // Integer division (quotient)

###### Nuget – Package Manager

Install-Package MathParser.org-mXparser -Version 6.0.0

Nuget – .NET CLI

dotnet add package MathParser.org-mXparser --version 6.0.0

Nuget – Package Reference

<PackageReference Include="MathParser.org-mXparser" Version="6.0.0"/>

###### Maven – Dependency

<dependency><groupid>org.mariuszgromada.math</groupid><artifactid>MathParser.org-mXparser</artifactid><version>6.0.0</version></dependency>

###### Maven – Gradle

implementation 'org.mariuszgromada.math:MathParser.org-mXparser:6.0.0'

###### Maven – Gradle (Kotlin)

implementation("org.mariuszgromada.math:MathParser.org-mXparser:6.0.0")

###### GitHub

git clone https://github.com/mariuszgromada/MathParser.org-mXparser

## My other creative spaces

###### DONATION
Did you find the software useful?
Please consider donation 🙂