首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

找出最接近某个数字的值,该如何处理

2012-02-05 
找出最接近某个数字的值delphi中如何写函数,用来查找最接近某个数字的判定。比如在一个for循环中,如果结果

找出最接近某个数字的值
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;

热点排行