1<=1 true or false(5分)

  • 主题发起人 主题发起人 xaxaxa
  • 开始时间 开始时间
X

xaxaxa

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序里面用到了一个循环判断
if a&lt;=b then
begin
......
end;
在跟踪的时候发现a=1960 并且b=1960的时候 a&lt;=b 的判断结果是false,真是莫名其妙?
 
不可能,除非你的a,b数组不是整数类型
 
楼上说的很有道理,a[]是real,b[]是integer,可是这个结果都是整数啊,应该怎么改呢?
 
浮点数不能用=判等 建议用a-b&lt;0.00001这种句型判断
 
if Ceil(a)&lt;=b then ...
 
谢谢楼上,可是我必须得精确判断,不能取整取近似值,这样写不行啊
 
能不能把整型用函数转换成实型,然后再比较
 
你只要条件成立就行了:
a=1959.999999 ceil(a)=1960 a&lt;=b true
a=1960.000000 ceil(a)=1960 a&lt;=b true
a=1960.000001 ceil(a)=1961 a&lt;=b false
 
接受答案了.
 

Similar threads

回复
0
查看
836
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
930
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部