delphi中如何写函数,用来查找最接近某个数字的判定。比如在一个for循环中,如果结果值最接近100.888,就停止循环。当然实际过程中不是100.888,没有什么规律的,这里打个比方。
for i:= 1 to 1000 do
begin
  ....
  ....
  怎么写呢??????
  break;
end;

解决方案 »

  1.   

    首先要给个误差范围,如1.0,其次要考虑下个数
    如100.888 肯定是101比100更接近,所以程序如下:procedure TForm1.Button1Click(Sender: TObject);
    const
      val:double=100.888;
      err:double=1.0;
    var
      i:integer;
    begin
      for i:=1 to 1000 do
      begin
         if (abs(i-val)<err) and (abs(i-val)<abs(i+1-val)) then
           break;
      end;
      ShowMessage(inttostr(i));
    end;
      

  2.   

    UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP