回 帖 发 新 帖 刷新版面

主题:如何计算字符串中四则混合运算

一个字符串,例如:str:='3+8*9+(7-5)',怎么计算它的值?(字符串可以自行输入任何四则运算表达式),请各位大虾帮帮忙解决一下

回复列表 (共1个回复)

沙发

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;

我来回复

您尚未登录,请登录后再回复。点此登录或注册