Преобразовать строку в операцию

Мне нужно преобразовать строку как "5+4+8*6(4)" как операция, после нее я смогу ее вычислить (здесь 5+4+8*6(4) = 201)

3 ответа

Решение

Я советую вам использовать библиотеку mathjs http://mathjs.org/docs/expressions/parsing.html

var result = math.eval('5+4+8*6(4)');  

Вы можете использовать функцию eval:

eval("5+4+8*6(4)")

У функции eval есть проблема с безопасностью.

Если вы не хотите использовать eval, вам придется использовать существующую библиотеку оценщика выражений:

http://silentmatt.com/javascript-expression-evaluator/

var equation = 5+4+8*6(4);
alert(eval(equation));
Другие вопросы по тегам