Добавить несколько аргументов формулы

#c# #jint

#c# #jint

Вопрос:

У меня есть формула Javascript, сохраненная в базе данных в виде строки, и я хочу вычислить ее, используя JINT в C #.

В формуле есть несколько переменных, и им необходимо задать соответствующие значения.

 int height = 10
int length = 10
int width = 5

string jsFormula = "height * length * width";
  

Мне нужно установить все 3 переменные с помощью JINT engine и получить результат.

Ответ №1:

Вы можете сделать это несколькими способами.

Создать объект движка,

 var formulaEngine = new Engine();
  

Устанавливайте переменные одну за другой,

 formulaEngine.SetValue("height", height);
formulaEngine.SetValue("width", width);
formulaEngine.SetValue("length", length);

double result = formulaEngine.Execute(jsFormula ).GetCompletionValue().AsNumber();
  

или

 double result= new Engine()
            .SetValue("height", height) 
            .SetValue("width", width)
            .SetValue("length", length)
            .Execute("x * x") 
            .GetCompletionValue() 
            .AsNumber();