下列代码使一个按钮的代码,
procedure TFrm1.Button2Click(Sender: TObject);
var s:double;
begin
s:=2.95;
if s<>2.95 then showmessage('不相等');
end;
竟然运行后真的出现了“不相等”的提示,难道2.92不等于2.95?真是奇怪了!是不是我的变量s的类型定义不合适?
procedure TFrm1.Button2Click(Sender: TObject);
var s:double;
begin
s:=2.95;
if s<>2.95 then showmessage('不相等');
end;
竟然运行后真的出现了“不相等”的提示,难道2.92不等于2.95?真是奇怪了!是不是我的变量s的类型定义不合适?
解决方案 »
- 如何在同一个程序中显示多个窗口在任务栏上?
- 外行问题!
- 奇怪问题,"Sort"字段不能添加记录?
- 急问:谁有Cell32的帮助文档?
- 寻求一个数据迁移的解决方案?是帅哥吗,那就来看看吧
- Free Film
- ★★关于《Delphi5 开发人员指南》8.7编写动画程序中的例子,无法运行,怎么回事?
- 如何将TEXT中的数据导入ACCESS数据库
- cxgrid中记录集为什么不能滚动
- 打开已保存的quickreport文件(*.QRP)出现“Metafile is not valid”错误!!!在线等待
- 有没有人用DELPHI做过OA的,刚接到单子,用MS的东西的话,又要花很多时间来掌握,大家进来帮给点建议吧,谢谢了
- 如何按拼音查找
你跟踪一下就知道了
if s<>2.95
这个2。95的值是2
你可以再写一个变量
var
a,b:double;
begin
a:=2.95;
b:=2.95;
if a<>b then showmessage('不相等');
end;
那个2.95不是2,我用showmessage(floattostr(s))显示时也正确,显示2.95
我这种情况怎样判断?
if FLoattoStr(s) = '2.95'
这样就可以了
begin
begin
s:=2.95;
if s<>2.95 then
showmessage('不相等');
end;
Currency 数据类型是为了操作很精确的四位小数货币数值才添加的。
阿飞的也可以,不过还要转换一次
而是你写S<>2.95//这个2。95的值成2了
你换一个类型或者这么写也可以
if floattostr(s)<>'2.95'