大悟还俗

邮箱 key_ok@qq.com 我的收集 http://pan.baidu.com/share/home?uk=1177427271
  新随笔  :: 联系 :: 订阅 订阅  :: 管理

字符串转换为计算表达式

Posted on 2013-10-09 11:40  大悟还俗_2  阅读(265)  评论(0编辑  收藏  举报

1.利用SQL的Exec()来计算

2.利用JavaScript来计算

3.利用逆波兰式来计算(比较复杂)

这里用JavaScript来实现

uses
  ComObj;
function TForm1.DoCaculate(exp: string): string;
var
  script: Variant;
begin
  script := CreateOleObject('ScriptControl');
  script.Language := 'JavaScript';
  Result := script.Eval(Exp);
end;

procedure TForm1.btn1Click(Sender: TObject);
var
  str:string;
begin
   str:=DoCaculate('((1+2)*3)/3');
   ShowMessage(str);
end;
View Code