Is there an easy way to evaluate strings like
"(4+8)*2"
So that you'd get the int value of 24?
Or is there a lot of work needed to get this done...?
Is there an easy way to evaluate strings like
"(4+8)*2"
So that you'd get the int value of 24?
Or is there a lot of work needed to get this done...?
 
    
     
    
    Someone else added this and then it got deleted. I thought it was pretty cool because no 3rd party libraries required.
class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(Evaluate("(4+8)*2"));
            Console.ReadKey();
        }
        public static double Evaluate(string expression)
        {
            DataTable table = new DataTable();
            table.Columns.Add("expression", typeof(string), expression);
            DataRow row = table.NewRow();
            table.Rows.Add(row);
            return double.Parse((string)row["expression"]);
        }
    } 
 
    
    Use Ncalc:
Expression e = new Expression("(4+8)*2");
Debug.Assert(24 == e.Evaluate());   
Also, this question had been previously asked and has some interesting answers including Ncalc : Evaluating string "3*(4+2)" yield int 18
You need a Math Expression Parser for that. Below are resources on that:
 
    
    