找出最接近某个数字的值
delphi中如何写函数,用来查找最接近某个数字的判定。
比如在一个for循环中,
如果结果值最接近100.888,就停止循环。当然实际过程中不是100.888,没有什么规律的,这里打个比方。
for i:= 1 to 1000 do
begin
....
....
怎么写呢??????
break;
end;
[解决办法]
首先要给个误差范围,如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;