起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 302|回复: 13

【结贴】NaN在WinXP下编译报错

[复制链接]
发表于 2010-3-10 13:48:09 | 显示全部楼层 |阅读模式
var
  a: Double;
begin
  a := TDate.NaN;
编译报错:Invalid floating point operation。但是Win2003正常
回复

使用道具 举报

发表于 2010-3-10 14:39:52 | 显示全部楼层
楼主想要做什么操作?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-10 15:31:32 | 显示全部楼层
有一个日期参数,传TDate.NaN,表示本次日期不参与计算
回复 支持 反对

使用道具 举报

发表于 2010-3-11 13:53:07 | 显示全部楼层
1楼的代码在delphi下使用是好的么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-11 14:00:23 | 显示全部楼层
呵呵,你试试不就知道了:在Delphi下Nan是math单元下的,咱们平台里放到了TDate.NaN
Delphi下是好的。
回复 支持 反对

使用道具 举报

发表于 2010-3-11 14:17:33 | 显示全部楼层
不好意思,我们公司不让装Delphi。
math下也有这个值,只不过不能用,他的值超出了double的范围,还是换种思路实现吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-11 14:47:41 | 显示全部楼层
Use NaN to assign a value of NaN (not a number) to a floating-point variable. Do not use NaN in comparisons. To check whether a variable or expression evaluates to NaN, use the IsNan function instead.
为什么不能用啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-18 15:35:12 | 显示全部楼层
再确认一下吧,如果确实编译器不认识这个就算了
回复 支持 反对

使用道具 举报

发表于 2010-3-19 10:48:21 | 显示全部楼层
经过确认,编译器在xp的环境下确实是这样的,要不楼主在换个别的方法吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-19 10:55:01 | 显示全部楼层
就是bug呗呵呵,结贴吧,我换个方法。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-10 02:37 , Processed in 0.042701 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表