关于表达式计算的问题? 如何在Delphi中计算一表达式的值,如: float a,b,c,d; a=10; b=10; c=10; string s; s:="(a+b)*c" d:=xxxxxxxx(s); 这里,xxxxxxxx的地方用什么呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不行的,如果你要是详细的考虑,你算的是计算机的一个算法,要一个字符一个字符的考虑,如果你的a,b,c,不是动态的,直接计算,如果是动态的,请要判断你的这个字符串的从第一个字符到最后一个字符的相应的值,否则是不能计算的。 s:="(a+b)*c"这里就出问题了应该s:=IntToStr((a+b)*c);然后才能用floattostr 同意redher(红孩儿)的意见,s是一个字符串变量,如果硬性将其转化为浮点数可能会出现错误,除非s中存储的是一个数值 举例:s:="(a+b)*c" TMP1:=(a+b),TMP2:=C,S:=TMP1*TMP2; TMP1:=a+b;已经只有1个运算符,所以可以计算TMP:=20; S:=20*TMP2,只有1个运算符,也可以计算S=20*10=200; 如果Delphi中没有这类函数,只能自已做表达式解析函数吗? 不好做啊,大家帮我 在VF中有个函数(Eval)可以实现,不知道在Delphi中有没有此类函数 参看http://blog.csdn.net/ly_liuyang/archive/2002/02/16/13334.aspx Func(S) Fonc()是表达式解释函数,用于解释S算术表达式 根据数据库内容动态生成TreeView 大富翁和盒子都上不去了,还有别的什么好地方啊? 如何判断两个图片是否相等????高手帮忙在线等啊 百分求一个BT程序源代码 我用的是delphi7 怎么找不到dbchart控件? 高分求助!线程怎么用啊,我加了一个thread object对象,怎么启动这个线程啊,是在别的unit里面启动吗?谢谢 多少人在用delphi中的数据感知控件直接编辑数据? DELPHI中如何让FORM窗体透明,只显示控件? TwebBrowser的刷新问题。 关与dbgrideh的奇怪问题 如何将Longword转换成string? 如何发布第三方控件?希望多指点!
这里就出问题了
应该
s:=IntToStr((a+b)*c);
然后才能用floattostr
TMP1:=(a+b),TMP2:=C,S:=TMP1*TMP2;
TMP1:=a+b;已经只有1个运算符,所以可以计算TMP:=20;
S:=20*TMP2,只有1个运算符,也可以计算S=20*10=200;
不好做啊,大家帮我
http://blog.csdn.net/ly_liuyang/archive/2002/02/16/13334.aspx
Fonc()是表达式解释函数,用于解释S算术表达式