比如 一个字符串 "(3+5)*6/7"怎么把他运行 何处结果呢?比如 "(3+5)*6/4" =12 请教各位高手 多谢了  

解决方案 »

  1.   

       DataTable _Talbe = new DataTable();            string _Value = new DataTable(
      

  2.   

       DataTable _Talbe = new DataTable();            string _Value = new DataTable().Compute("(3+5)*6/4", "").ToString();
      

  3.   

    DECLARE @VAR VARCHAR(50)
    SET @VAR='(3+5)*6/7'
    SET @VAR='SELECT ' +@VAR
    EXEC(@VAR) 
                
    ----------- 
    6这是SQL中的算法
      

  4.   

                MessageBox.Show(new DataTable().Compute("(3+5)*6/4", "").ToString());
      

  5.   

    这能用DataTable 着个类么
    没有更方便的么
    记得javascript 专门有个函数eval()  可以计算字符串
    c#里面有没有想这样的函数?
      

  6.   

    叫你一个我无意中发现的方法吧~!!! 妙用SQL
    string st = "(3+5)*6/4";
    string sql = “select ”+st+" as 'Answer'";
    SqlConnection con = new SQLconnection("````````````````````");
    SqlCommand com = new SQLCommand(sql,con);
    SqlDataReader dr = com.ExecuteReader();
    if(dr.Read())
    {
        double answer = double.double.Parse(sd[0].ToString().Trim());
    }
    sd.Close();
    sd.Dispose();
    con.Close();
    //answer 就是你要的结果了虽然貌似用到SQL了,但我觉得程序不会去数据库找,所以就不会浪费什么资源了
      

  7.   

    static void Main()
            {
                Console.WriteLine(new DataTable().Compute("(3+5)*6/4", "").ToString());
            }你可以直接输出 new DataTable().Compute("(3+5)*6/4", "").ToString()