exp4j is a small Java library for evaluation of mathematical expressions.[1] It implements Dijkstra's Shunting-yard algorithm to translate expressions from infix notation to Reverse Polish notation and calculates the result using a simple Stack algorithm.

exp4j
Stable release
0.4.3 / 2014-10-10
Repository
Written inJava
TypeMath
LicenseApache License 2.0
Websitewww.objecthunter.net/exp4j/

Features

edit
  • Variables can be used in expressions
  • exp4j comes with a set of common built-in functions
  • Users can create and use their own custom operators
  • Users can create and use their own custom functions

License terms

edit

exp4j is released under the terms of the Apache License 2.0

Examples of usage

edit

Calculating the result of   can be done in the following way:

Expression e = new ExpressionBuilder("3 * (sin(pi) - 2 )/ e")
        .variables("pi", "e")
        .build()
        .setVariable("pi", Math.PI)
        .setVariable("e", Math.E);
double result = e.evaluate();

See also

edit
  • mXparser - Mathematical Expressions Parser / Evaluator

References

edit
  1. ^ "Maven Central Repository Search". search.maven.org. Retrieved 2022-03-16.