明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1626|回复: 5

=与equal

[复制链接]
发表于 2006-12-24 17:44:00 | 显示全部楼层 |阅读模式
我碰到了这样一个问题,用“=”判断两个数值变量时,显示为不相等,当用“equal”加精度判断时,才显示相等,其实两个变量值是相等的,不知道是什么原因。
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2006-12-24 18:24:00 | 显示全部楼层


Command: (setq a 3.125)
3.125

Command: (setq b a)
3.125

Command: (= a b)
T

Command: (equal a b)
T

其实两个变量值是相等的
是如何个其实法?

 楼主| 发表于 2006-12-24 22:38:00 | 显示全部楼层

是这样的= (caar(1.9875 "kk001")(.....))) rr) , rr 值为1.9875,结果却为nil,不知道为何?

发表于 2006-12-25 08:50:00 | 显示全部楼层

(= (caar(1.9875 "kk001")(.....))) rr)

(= (caar(1.9875 "kk001")(.....))) rr)
(=
  (caar (1.9875 "kk001") (.....)))  ; error syntax
  rr
)

Command: (caar '((11 22) (33 44)))
11

请参阅 Car cadr .....
(caar = (car (car

发表于 2006-12-25 09:53:00 | 显示全部楼层
equal 和=是有区别的,=表示绝对相等,equal 可以设置精度,比如0.01和0.01001,用=结果肯定为FALSE,如果用equal ,精度在0.01以内是相等的。
 楼主| 发表于 2006-12-25 22:28:00 | 显示全部楼层
谢谢以上各位了,我估计只能是精度方面的原因,只是表面看不出来而已。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-11-23 12:56 , Processed in 0.204814 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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