Version: 2022.3

ExpressionEvaluator

class in UnityEngine

切换到手册

描述

计算简单的数学表达式;支持 int/float 和运算符:+ - * / % ^ ( ).

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

静态函数

EvaluateEvaluates a math expression and returns the result.