我要做float类型的比较,例如
I := 3.08
if I >= 3.08 and I <= 3.09 then
ShowMessage('在此范围内')
else
ShowMessage('不在此范围内');
这个执行的结果老是ShowMessage('不在此范围内');
为什么?
我要做这样的比较,要用什么方法?
I := 3.08
if I >= 3.08 and I <= 3.09 then
ShowMessage('在此范围内')
else
ShowMessage('不在此范围内');
这个执行的结果老是ShowMessage('不在此范围内');
为什么?
我要做这样的比较,要用什么方法?
解决方案 »
- DELPHI7里的USE里面引用了INIFILES后找不到到INIFILES.DCU文件
- 如何修改EXE文件的代码?谢谢回复!!!
- 求急!!如何在del6中取得execl表格WorkSheet里已有记录的条数?!
- 高分求教IS Express安装制作工具,分不够加多少都没问题啊!!!!!
- 如何获取当前屏幕的长和宽是800*600还是1024*768?
- ??这个问题很奇怪?用BeginTread开始的线程,不能用操作其中的堆内存??我怎么才能里面线程中的数据传出来?
- ADO连接ACCESS2000的奇怪问题。
- 条形码
- 关于RealPlay文件的播放
- 诸位:用DELPHI5编写的WEB应用程序XXX.DLL为什么不能在浏览器中执行。
- 关于数据的更新的问题
- 用odbc连接ACCESS数据库,用TQuery数据集,在用SQL语句删除的时候,时儿正常,时儿出现如下异常(异常在文章内容里面),这怎么回事情,
改成
if (I >= 3.08) and (I <= 3.09) then //加上括号!!!
从数据库中取出的numeric值,与程序中的一个值比较。
我跟踪了程序,在执行到这里时,值为
(3.0800 >= 3.0800) and (3.0800 <= 3.0900)但结果就是那个。我实在是想不通。
procedure TForm1.Button1Click(Sender: TObject);
var
i:Double;
begin
I := 3.08;
if (I >= 3.08) and (I <= 3.09) then
ShowMessage('在此范围内')
else
ShowMessage('不在此范围内');
end;测试结果是“在此范围内”....
我改了一下程序,再次试了一下.
procedure TForm1.Button1Click(Sender: TObject);
var
i:Double;
begin
I := DJ.Field.Value; //先将3.08赋给I
if (I >= 3.08) and (I <= 3.09) then
ShowMessage('在此范围内')
else
ShowMessage('不在此范围内');
end;
这样程序执行的结果就是'在此范围内'.....
我不明白为什么我原来的就会是那个结果,我原来并没有首先赋值给它,而是直接比较,
if (DJ.Field.Value >= 3.08) and (DJ.Field.Value <= 3.09) then
但值在跟踪时显示的是3.0800,为什么就会显示 '不在此范围内'..
不明白.