读书人

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

发布时间: 2012-02-05 12:07:15 作者: rapoo

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

读书人网 >.NET

热点推荐