delphi如何将字符串转换为表达式?

来源:百度知道 编辑:UC知道 时间:2024/09/12 22:54:20
请问各位高人,在delphi中怎样将字符串转化为表达式?
比如说str:='(1+2)*3/4';转化为value:=(1+2)*3/4;

你是想得到它的值还是怎么转换?如果是得到值就简单处理value:=strtoint((1+2)*3/4);当然这是学要你的value值也是integer型如果你是其他型的你可以把它用相应的转换函数。你在Delphi的help里打strto下面就会出现很多。你可以找你需要的

可以调用ScriptControl,省的自己去转换
uses ComObj;

演示
Function calc(const expression : String):Integer;
Var
sc : OleVariant;
begin
//expresion := ‘100+5*3’;
sc := CreateOleObject('MSScriptControl.ScriptControl.1');
sc.Language :='JavaScript';
result := StrtoInt( sc.eval(expression) );
end;
Sample: 115 := calc(‘100+5*3’);