Конкретно для этого примера можно сделать так:
Код AS3:
var str:String = "5 + 5";
var arr:Array = str.split("+");
var i1:int = int(arr[0]);
var i2:int = int(arr[1]);
var sum:int = i1 + i2;
trace(sum); // 10
В более общем случае вам придется написать парсер, который будет разбивать строку на части, согласно расположению скобок (если они присутствуют), а затем получившиеся части будут делиться по приоритету операторов (возведение в степень перед умножением, которое, в свою очередь, перед сложением, и т.д.). И после такого разделения будут происходить последовательные вычисления. В общем встроенной функции не существует, попробуйте поискать что-то вроде 'арифметический парсер' или написать самостоятельно. Это увлекательно.
Добавлено через 3 минуты
Вот, кстати, как это можно провернуть через перевод инфиксного выражения в постфиксное.
|