就是能把  string str="8+2*(3+4)"; 
四则运算表达式
这种字符串用C#变成数学表达式计算出结果!
计算24点问题用到!!

解决方案 »

  1.   

    .net框架似呼没有现成的类,但是有第三方的库
      

  2.   

    直接用vbScript这个动态库就可以了,windows自带的。
      

  3.   

    用.net 4.0 直接eval就出来了。
    就像vbscript的eval一样。其他的解法楼上都说过了,我就不复述了
      

  4.   

    用javascript多法便  var v=eval("8+2*(3+4)");
      

  5.   

    new DataTable().Compute("8+2*(3+4)", null);
      

  6.   

    頂這樓
    其他的都是把問題復雜化的磚家....
    樓主說了用C#,你們想那么復雜做什么?
    MS早封裝好了方法給你們用,你們不用...
      

  7.   


    复杂个头  
    new DataTable().Compute("8+2*(3+4)", null);这个能用?
      

  8.   

                string s = "function   getCeil(a,b,c,d){return   a+b*(c+d)};" + System.Environment.NewLine;
                string s1 = "getCeil(8,2,3,4)" + System.Environment.NewLine;
                object ret = Microsoft.JScript.Eval.JScriptEvaluate(s + s1, Microsoft.JScript.Vsa.VsaEngine.CreateEngine());
                MessageBox.Show(ret.ToString());
      

  9.   

    复杂个头 
    new DataTable().Compute("8+2*(3+4)", null);这个能用?
    ------------------------------
    试过才能说话
      

  10.   

    堆栈,google一大堆
    也可以考虑用SQL语句,如果条件允许的话
      

  11.   


    我收过这句话,试过可用, sorry
      

  12.   

    new DataTable().Compute("8+2*(3+4)", null);这个确实可以!!
    谢谢
      

  13.   

    DataTable.Compute确定不错。不过好像不支持位运算。常规的括号和操作符都支持。
    谢了
      

  14.   

     但这个compute 不能计算浮点