负数和正数的比较

时间:2013-05-02 15:37:11

标签: delphi comparison

我的比较功能对于我正在尝试的事情而言过于复杂。我将收到一个可以是正面或负面的双重。我将存储一个需要最小值的全局变量。就比较而言,这意味着它是最小的正数,或者如果输入值是负数,则最小的全局值可能是负数。

如果传入是正面的还是负面的,我的代码会变成一堆if语句。然后,如果当前的全球价值为正或负,我需要进行不同的比较。

有没有更好的方法来简单地比较两个数字并得到两个中最低的数字?

部分示例代码:

if NestObject.RectangularScrap <> 0 then begin
    if NestObject.RectangularScrap > 0 then begin
      //Positive rect scrap
      if(NestObject.RectangularScrap < GBestRect) then begin
        GBestRect := NestObject.RectangularScrap;
      end;
      if(NestObject.RectangularScrap > GWorstRect) then begin
        GWorstRect := NestObject.RectangularScrap;
      end;
    end
    else begin
      //Negative rect scrap
      if GBestRect > 0 then begin
        //Global value is currently positive
        GBestRect := NestObject.RectangularScrap;
      end
      else begin
        //Global value is currently negative, change both values to postive to compare
        if((-1*NestObject.RectangularScrap) < (-1*GBestRect)) then begin
          GBestRect := NestObject.RectangularScrap;
        end;
        if((-1*NestObject.RectangularScrap) > GWorstRect) then begin
          GWorstRect := NestObject.RectangularScrap;
        end;
      end;
    end;
  end; 

1 个答案:

答案 0 :(得分:4)