我的比较功能对于我正在尝试的事情而言过于复杂。我将收到一个可以是正面或负面的双重。我将存储一个需要最小值的全局变量。就比较而言,这意味着它是最小的正数,或者如果输入值是负数,则最小的全局值可能是负数。
如果传入是正面的还是负面的,我的代码会变成一堆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;