已知a 和 b ,求取c
有一个文本框 用来写出a。b。c之间的算法,求取C
比如文本框中有c=A+B,或者c=sqrt(a^2+b^2),通过这个求取C,求由此算法的C#

解决方案 »

  1.   

    你这个想要一个输入框作出来没人做的出来~~~~~~~~~~可以匹配的东西太多了。你连sqrt这种东西都出来了。
      

  2.   

    这个可以采用用 引入库 Interop.MSScriptControl(Microsoft Script Control 1.0)  MSScriptControl.ScriptControlClass sc = new MSScriptControl.ScriptControlClass();
      sc.Language = "JavaScript";
      sc.Eval(表达式)
    的方式 计算 动态公式。再不就是 正则
      

  3.   

    泛型lz认识吧?
    那仅是对类型的未知定义lz居然能实现对运算的未知定义
      

  4.   

    其实这问题很简单,你要以定义计算过程:
    count_1
    count_2
    count_3
    .....
    你用脑子想想尽了各种公式,事先做出这种计算过程,在需要的时候调用,你要是想一次全计算过来则这样做一个选择块,1时计算count_1...
    这样就循环完了
      

  5.   

    建议楼主看看 CodeDom 命名空间下【动态编译】的内容,也许这个能满足你的需求。
    提供一个类名: CodeCompiler
      

  6.   

    可以利用数据库进行计算:
         比如说 创建一个表字段分别为    a  b  
        再利用  select C的表达式  from 表     就可以得到答案了。
      

  7.   

    之前做过类似的东西,很复杂呀!你允许的算法越多,越复杂!每种关键字你都要写出相应的解析方法及计算方法用CodeCompiler这个性能太低,而且不支持自定义关键字及算法。推荐用 逆波兰表达式的方式来解析,不过就是要你自己写了。以前写得那个丢了,看看这个链接吧,思路是比较清晰的!http://blog.csdn.net/yaoohfox/archive/2009/07/30/4394928.aspx看懂如何压栈弹栈的!
      

  8.   

    先用正则判断文本框是否是xxx+/-/*/'/'xxxx   就是这个格式,你判断好后在用Split来分割开来运算....
    呵呵,不好意思没有实施的,所以没有源码....
      

  9.   

    lz要的是不是类似JavaScript的eval函数啊?