Evaluates simple math expressions; supports int / float and operators: + - * / % ^ ( ).

This class has a single generic static method Evaluate, that evaluates a mathematical expression and returns
the result.

Supported number types are: `int`

, `float`

, `long`

, `double`

.

The expressions that can be evaluated support:

- arithmetic operators
`a+b`

,`a-b`

,`a*b`

,`a/b`

, - power (
`a^b`

) and modulo (`a%b`

) operators, - parentheses,
- math functions
`sqrt(a)`

,`floor(a)`

,`ceil(a)`

,`round(a)`

, - trigonometic functions
`cos(a)`

,`sin(a)`

,`tan(a)`

(argument expressed in radians), and a constant`pi`

.

using UnityEditor; using UnityEngine;

public class ExampleScript : MonoBehaviour { [MenuItem("Example/Int Expression")] public static void IntExample() { ExpressionEvaluator.Evaluate("2+3", out int result); // prints 5 Debug.Log(result); }

[MenuItem("Example/Float Expression")] public static void FloatExample() { ExpressionEvaluator.Evaluate("sqrt(cos(pi/3))", out float result); // prints 0.7071068 Debug.Log(result); } }

Evaluate | Evaluates a math expression and returns the result. |