Объявление
public static bool Evaluate(string expression, out T value);Параметры
| expression | Строка, содержащая математическое выражение (например, "4+3").. |
| value | Результат вычисления выражения. Поддерживаемые типы: int, float, long, double. |
Возвращает
bool Указывает, можно ли успешно вычислить выражение.
Описание
Вычисляет математическое выражение и возвращает результат.
Выражения, которые можно вычислить, поддерживают:
- арифметические операторы
a+b,a-b,a*b,а/б, - степенные (
a^b) и модульные (a%b) операторы, - скобки,
- математические функции
sqrt(a),floor(a),ceil(a) ),раунд(а), - тригонометические функции
cos(a),sin(a),tan(a )(аргумент выражен в радианах) и константаpi.
Если выражение невозможно вычислить, функция возвращает false, а значение результата устанавливается равным нулю.
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);
}
}

