C#中如何从字符串"(a + b)/100"中获得计算表达式c = (a + b) / 100

msldirector 2011-01-28 10:51:37
如从字符串 s = "(a + b)/100";
得到一个实际的表达式:

c = (a + b) / 100; // 其中 a , b, c是变量


...全文
97 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
msldirector 2011-01-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
object o=new DataTable.Compute(string.Format("({0} + {1}) / 100}",a,b),"");
[/Quote]


借鉴了wuyq11的提示,

把字符串变成 s = "({aaa} + {bbb}) / 100" 的形式,
写了个方法把其中的 aaa, bbb 替换成 0, 1 等,再用
object o=new DataTable.Compute(string.Format("({0} + {1}) / 100}",a,b),"");
即可以作出计算


谢谢各位的回复!
wangting0613 2011-01-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
object o=new DataTable.Compute(string.Format("({0} + {1}) / 100}",a,b),"");
[/Quote]

这个应该是你要的
cdglynn 2011-01-28
  • 打赏
  • 举报
回复
1、动态编译可以解决
2、编写解析代码
wuyq11 2011-01-28
  • 打赏
  • 举报
回复
object o=new DataTable.Compute(string.Format("({0} + {1}) / 100}",a,b),"");
mao32 2011-01-28
  • 打赏
  • 举报
回复
我也想知道!
flyerwing 2011-01-28
  • 打赏
  • 举报
回复
动态编译不知道能不能搞顶.
没用过,不知道.

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧