Version: 2021.3
public static bool Evaluate (string expression, out T value);

参数

expression A string containing a mathematical expression (e.g. "4+3").
value The result of the expression evaluation. Supported types are: int, float, long, double.

返回

bool Indicates whether expression could be evauated successfully.

描述

Evaluates a math expression and returns the result.

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. If the expression can not be evaluated, the function returns false and the result value is set to zero.

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); } }