找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1574|回复: 6

[LISP函数]:为什么rtos命令定义小数保留位数不对?

[复制链接]
发表于 2004-11-14 15:46:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
试了好几回都这样,
比如:
(setq num 0.050)
(rtos num 2 3) 总是得到0.05的值,最后一个0始终无法给出,这是为什么?怎么样才能保留那个0啊?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-11-14 16:45:15 | 显示全部楼层
是不是你第二句没有执行到,否则至少返回也应该是"0.05"而不是0.05,恰恰第一句的返回值是0.05而不是0.050
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-14 18:48:43 | 显示全部楼层
测试:
(setq num 0.050)
0.05
(rtos num 2 3)
"0.050"
没有问题。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-11-14 20:29:30 | 显示全部楼层
我知道怎么回事了,应该先修改参数DIMZIN的值。我的图里DIMZIN的初始值是8,所以一直无法保留后续的零。

在帮助里找到的说明:
控制是否对主单位值作消零处理......
0  消除零英尺和零英寸
1  包含零英尺和零英寸
2  包含零英尺,消除零英寸
3  包含零英寸,消除零英尺
4  消除十进制标注中的前导零(例如,0.5000 变为 .5000)
8  消除十进制标注中的后续零(例如,12.5000 变为 12.5)
12  消除前导零和后续零(例如,0.5000 变为 .5)

DIMZIN 还对 AutoLISP rtos 和 angtos 函数执行实数向字符串转换操作有影响。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-15 00:11:31 | 显示全部楼层
谢谢,我以前也遇到这样的问题
一直没解决
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-15 08:36:05 | 显示全部楼层
在程序中有这样的情况
我们是靠搜索长420.0,角度为0的线段打印的,可是有的图纸中有这样的线段,可就是不能打印,将其考到别的图纸中就可以打印,我用的是c

ad2005,cad2004也有这样的情况!
(setq keyline "420.0")
...........
(if (and (= (rtos s_epdis 2 1) keyline) (= (rtos s_epang 2 4) keyang)(= printt "all")))
可是在不能打印的图纸中调试的时候出现以下问题!
!(rtos s_epdis 2 1) "420"
! keyline "420.0"
!(= (rtos s_epdis 2 1) keyline) nil
在能打印的图纸中调试的时候
!(rtos s_epdis 2 1) "420"
! keyline "420.0"
!(= (rtos s_epdis 2 1) keyline) T
请问高手是为什么呢?应该!(= (rtos s_epdis 2 1) keyline)

都是T才对啊,是units设置的不正确吗?我改了一下units还是不行!应该和units设置无关吧?!还是缺少一个系统变量的设置指点呢?请高手指点!
同样解决了!!!!!!!!!!
也是他在影响!!谢谢了,原来如此!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-15 08:40:22 | 显示全部楼层
我也遇到过这样的问题,今天可能有解决办法了吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-27 15:19 , Processed in 0.187125 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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