乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 13|回复: 1

[编程交流] 救命,我的Lisp程序R

[复制链接]

3

主题

6

帖子

3

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 16:16:06 | 显示全部楼层 |阅读模式
我希望能得到一些帮助来解释为什么我的LISP不起作用,我有一堆文字说29.999、27.999等,我需要改成30.00、28.00等。
 
我正在尝试使用以下内容,但无法使其工作。见下面的lisp
 
 
  1. ;ROUND TO 5
  2. (defun c:Rnd5(/ a n index b d c num newnum d1 b1 len last)
  3. (graphscr)
  4. (prompt "Select numbers to be rounded") (terpri)
  5. (setq a(ssget))
  6. (setq n (sslength a))
  7. (setq index 0)
  8. (repeat n
  9. (setq na (ssname a index))
  10. (setq b (entget na))
  11. (setq d (assoc 1 b))
  12. (setq c (cdr d)) ; text item
  13. (setq num (atof c));converts it to number
  14. (setq num (* 2 num));doubles it
  15. (setq num (rtos num 2 2));rounds off to 2 places
  16. (setq num (atof num));converts it to number
  17. (setq num (/ num 2));divides by 2
  18. (setq newnum (rtos num 2 3));rounds off
  19. (setq len (strlen newnum))
  20. (setq last (substr newnum len))
  21. (if (= last "0") (setq newnum (rtos num 2 2)))
  22. (setq d1 (cons(car d)newnum))
  23. (setq b1(subst d1 d b))
  24. (entmod b1)
  25. (setq index (+ 1 index))
  26. (print)
  27. )
  28. (defun round (num near)
  29. (* (fix (/ (+ num (/ near 2.0)) near)) near)
  30. )
回复

使用道具 举报

rlx

21

主题

1505

帖子

1551

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
81
发表于 2022-7-5 17:32:24 | 显示全部楼层
  1. (fix (+ num 0.5))

gr.R。
 
 
https://www.theswamp.org/index.php?topic=44487.0
 
 
也可以看李大师的总结功能。。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 17:08 , Processed in 0.400669 second(s), 56 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表