字符的数学公式取得计算结果

有时候我们在文本框里写了’1+1‘,怎么能让他变成公式计算出结果?我提供2种方案供大家参考

一、

function Cal(expStr:string):string;
var
  js: OleVariant;
begin
  js := CreateOleObject('ScriptControl');
  js.Language := 'JavaScript';
  Result := js.Eval(expStr);
  js := Unassigned;
end;
---------------------------------

function InputText(expStr:string):Real;

var

vTmp:string;

begin

  try
    vTmp:=Cal(expStr);
    if vTmp='NAN' then  //说明公式有错
      Result:=-1
    else
      Result:=StrToFloat(vTmp);//将字符串转换成数字
  except
    Result:=-1;
  end;

end;

二、

写SQL语句,具体的程序语句我就不写了

DECLARE  @sql NVARCHAR(1000)
SET @sql='select Result='+'1+1+3*5'
EXEC (@sql)

猜你喜欢

转载自blog.csdn.net/victor_yang/article/details/86219095