找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 948|回复: 4

[已解决] 关于xdrx_object_setxdata、xdrx_object_getxdata函数问题

[复制链接]

已领礼包: 202个

财富等级: 日进斗金

发表于 2020-6-13 16:11:04 | 显示全部楼层 |阅读模式
悬赏20D豆已解决
命令: (xdrx_object_setxdata (entlast) "bh" '(10 100 200))
T

命令: (xdrx_object_getxdata (entlast) "bh")
((100.0 200.0 0.0))

用xdrx_object_getxdata提取出的表内值100.0 100.0 0.0与xdrx_object_setxdata的表内值10 100 200
不一致,为何?

之前也发现表内数字大于较大一个数,如50000时,提取出的数值为0的情况。
测试发现将数字字符串放进表内就不出问题了。

最佳答案

查看完整内容

把 (10 100 200) 改成 (10.0 100 200)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 40个

财富等级: 招财进宝

发表于 2020-6-13 16:11:05 | 显示全部楼层

(10 100 200)
改成
(10.0 100 200)

点评

(defun c:tt(/ lst lst1) (setq lst '( (10.) (10. 100.) (10. 100. 200.) (10. 100. 200. 300.) (10. 100. 200. 300. 400.) ("10") ("10" "100") ) );;;setq (mapcar  详情 回复 发表于 2020-6-13 17:26

评分

参与人数 1D豆 +5 收起 理由
dyjwyqz5221 + 5 热心帮忙奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 202个

财富等级: 日进斗金

 楼主| 发表于 2020-6-13 16:58:40 | 显示全部楼层
看来,数字字符串能转换成实数的尽量不要转换成整数。否则在这里会出问题的,在有数字相除的地方也会出问题。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 202个

财富等级: 日进斗金

 楼主| 发表于 2020-6-13 17:26:01 | 显示全部楼层
本帖最后由 dyjwyqz5221 于 2020-6-13 17:53 编辑
newer 发表于 2020-6-13 16:11

(10 100 200)
改成

(defun c:tt(/ lst lst1)
        (setq lst
                '(
                        (10.)
                        (10. 100.)
                        (10. 100. 200.)
                        (10. 100. 200. 300.)
                        (10. 100. 200. 300. 400.)
                        ("10")
                        ("10" "100")
                )
        );;;setq
        (mapcar
                '(lambda(x)               
                        (xdrx_object_setxdata (entlast) "bh" x)
                        (setq lst1 (cons (xdrx_object_getxdata (entlast) "bh") lst1))
                )
                lst
        )
        (reverse lst1)
)

命令: TT
((10.0) ((10.0 100.0 0.0)) ((10.0 100.0 200.0)) (10.0 100.0 200.0 300.0) (10.0 100.0 200.0 300.0 400.0) ("10") ("10" "100"))
下面这样更清楚点:
(
        (10.0)
       ((10.0 100.0 0.0))
        ((10.0 100.0 200.0))

        (10.0 100.0 200.0 300.0)
        (10.0 100.0 200.0 300.0 400.0)
        ("10")
        ("10" "100")
)

均为数字的子表,第一个子表为一个数字,未用0.0补位
第二个子表为两个数字的子表,红色部分数字补上了个0.0?
其他子表未出现这个情况。
表格还不一样呢?蓝色部分多一层括号呀

两个、三个数的表似乎是按三维点考虑的?





点评

两个数,三个数的表,是按点考虑的 要不你怎么分辨不是点呢?  详情 回复 发表于 2020-6-13 18:40
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2020-6-13 18:40:16 | 显示全部楼层
dyjwyqz5221 发表于 2020-6-13 17:26
(defun c:tt(/ lst lst1)
        (setq lst
                '(

两个数,三个数的表,是按点考虑的
要不你怎么分辨不是点呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 01:14 , Processed in 0.449875 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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