比如
function fun(AOperator: string):integer;
var
i,j: integer;
begin
if i AFunciotn(AOperator) j then result := 1
else result := -1;
end;
这里的AOperator是一个运算符,如 >,<,= 等等.
AFunction是一个能将AOperator转换成运算符的函数,有这样的函数吗?
...全文
595打赏收藏
delphi中,可以将运算符带入函数中,从函数中直接调用该运算符进行比较吗?
比如 function fun(AOperator: string):integer; var i,j: integer; begin if i AFunciotn(AOperator) j then result := 1 else result := -1; end; 这里的AOperator是一个运算符,如 >,<,= 等等. AFunction是一个能将AOperator转换成运算符的函数,有这样的函数吗?
那就自己写个函数吧。
Function Fun_Compare(Ad_a: double; Ad_b: double; As_Op: string; Ai_precision: longint) : Boolean ;
begin
if As_Op= '=' then
if Round(Ad_A*Ai_precision) = Round(Ad_b*Ai_precision) then
Result := true
else
result := False;
if As_Op= '>' then
if Round(Ad_A*Ai_precision) > Round(Ad_b*Ai_precision) then
Result := true
else
result := false;
if As_Op= '<' then
if Round(Ad_A*Ai_precision) < Round(Ad_b*Ai_precision) then
Result := true
else
result := false;
if As_Op= '<>' then
if Round(Ad_a*Ai_precision) <> Round(Ad_b*Ai_precision) then
Result := true
else
result := false;
if As_Op= '>=' then
if Round(Ad_A*Ai_precision) >= Round(Ad_b*Ai_precision) then
Result := true
else
result := false;
if As_Op= '<=' then
if Round(Ad_A*Ai_precision) <= Round(Ad_b*Ai_precision) then
Result := true
else
result := false;
end;