主题:如何计算字符串中四则混合运算
quintt
[专家分:0] 发布于 2007-08-03 16:46:00
一个字符串,例如:str:='3+8*9+(7-5)',怎么计算它的值?(字符串可以自行输入任何四则运算表达式),请各位大虾帮帮忙解决一下
回复列表 (共1个回复)
沙发
长尾兔 [专家分:3630] 发布于 2007-08-05 19:03:00
uses ComObj;
function MathStr(const Str : string) : string;
var
vScriptControl : OLEVariant;
begin
try
vScriptControl := CreateOleObject('MSScriptControl.ScriptControl');
vScriptControl.Language := 'VBScript';
result := vScriptControl.Eval(Str);
except
result := '';
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Str, Rst : string;
begin
Str := '3+8*9+(7-5)';
Rst := MathStr(Str);
Showmessage(Rst);
end;
我来回复