现在我有1个textbox里面的值得是从treeview里面拖进来的,下面还有一排+-*/的按钮,举例:
我现在textbox里面的内容是a+b-(c*d)+e
这种,abcde都是一个datatable里面的列名,我现在要计算出这个等式的值,然后在datatable最后添加一行,这一行是放刚刚算出来的值的我现在应该怎么获得这个等式里面abcde和+-*/呢。。
希望各位大侠提供点思路
我现在textbox里面的内容是a+b-(c*d)+e
这种,abcde都是一个datatable里面的列名,我现在要计算出这个等式的值,然后在datatable最后添加一行,这一行是放刚刚算出来的值的我现在应该怎么获得这个等式里面abcde和+-*/呢。。
希望各位大侠提供点思路
解决方案 »
- DataTable在已有的一行数据里 怎么往空的列加入数据
- 求助!用户控件问题
- c#类型转换
- 控制台程序怎么样看调试结果?现在是一闪而过。
- void SetImageConvCallbackFunc(void *pFuncCallbackProc);这个函数怎么写成对应的C#函数?
- ?
- 高分寻求VISUAL STUDIO .NET 2003正确、快速、有效下载地址![在线等待]
- 无效的命令行参数。有关命令行的详细帮助
- 请各位大虾帮一下忙??一个小小的字符串问题
- delegate 是什么意思?如何用?
- System.Threading.ThreadAbortException: 正在中止线程
- C# win 把数据写入本地数据库和远端数据库的速度区别为什么这么大
手写的话,那就是解析这个字符串了,可以用两个堆来实现,一个存运算符,一个存值(也就是abcde),具体的算法网上应该很多的。
或者使用Javascript的Eval
或者动态代码编译http://www.chenjiliang.com/Article/View.aspx?ArticleID=2767&TypeID=84
http://blog.csdn.net/wingfay/archive/2007/06/08/1643611.aspx
int i = Convert.ToInt16(new DataTable().Compute(str, ""));//i=-2;
还是说在DataTable中加上一列,每行都按照TextBox中的表达式计算,然后保存结果?
不管怎样,思路还是一样的。