明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 925|回复: 10

[提问] 四舍五入,求整

[复制链接]
发表于 2021-7-20 19:07 | 显示全部楼层 |阅读模式
10明经币
要对以下代码中的值a,b求整(四舍五入)
自已弄了半天,没弄成,请高手指点:
      (setq a (abs (- (car point_lower) (car point_upper))))
      (if (= a 0) (setq a 1))
      (setq b (abs (- (cadr point_lower) (cadr point_upper))))
      (if (= b 0) (setq b 1))
      (setq point_lower (polar (polar mid-point pi (* a 0.5))
          (* pi 1.5)
          (* b 0.5)
          )
     point_upper (polar (polar mid-point 0 (* a 0.5))
          (* pi 0.5)
          (* b 0.5)
          )
      )
      (command "RECTANG" "none" point_lower "none" point_upper)
发表于 2021-7-20 19:07 | 显示全部楼层
  1.       (setq a (atoi (rtos (- (car point_lower) (car point_upper)) 2 0)))
  2.       (if (= a 0) (setq a 1))
  3.       (setq b (atoi (rtos (- (cadr point_lower) (cadr point_upper)) 2 0)))
  4.       (if (= b 0) (setq b 1))
  5.       (setq point_lower (polar (polar mid-point pi (* a 0.5))
  6.           (* pi 1.5)
  7.           (* b 0.5)
  8.           )
  9.      point_upper (polar (polar mid-point 0 (* a 0.5))
  10.           (* pi 0.5)
  11.           (* b 0.5)
  12.           )
  13.       )
  14.       (command "RECTANG" "none" point_lower "none" point_upper)

点评

谢谢您!  发表于 2021-7-21 07:17
回复

使用道具 举报

发表于 2021-7-20 21:44 | 显示全部楼层
只看道求绝对值,没看到求整
回复

使用道具 举报

发表于 2021-7-20 22:32 | 显示全部楼层
  1. (setq a (fix (+  0.5 (abs (- (car point_lower) (car point_upper)))))

评分

参与人数 3明经币 +3 收起 理由
ludaweb + 1 赞一个!
tryhi + 1
刘炎华 + 1 +0.5很妙哦!ludaweb兄先回复了,所以把他.

查看全部评分

回复

使用道具 举报

发表于 2021-7-21 17:36 | 显示全部楼层
本帖最后由 tryhi 于 2021-7-21 17:43 编辑

(setq ab(mapcar '(lambda(a b / x)(setq x(fix(- a b -0.5)))(if(= x 0)1 x))point_lower point_upper))
(setq lo_up(mapcar '(lambda(x)(polar (polar mid-point (car x) (* (car ab) 0.5))(* pi (cadr x))(* (cadr ab) 0.5))) (list( list pi 1.5) '(0 0.5))))
(command "RECTANG" "none" (car lo_up) "none" (cadr lo_up))



来个晦涩难懂的


评分

参与人数 2明经币 +2 收起 理由
刘炎华 + 1 多谢海大师指点!
Bao_lai + 1

查看全部评分

回复

使用道具 举报

发表于 2021-7-21 22:17 来自手机 | 显示全部楼层
tryhi 发表于 2021-7-21 17:36
(setq ab(mapcar '(lambda(a b / x)(setq x(fix(- a b -0.5)))(if(= x 0)1 x))point_lower point_upper))
...

海哥过来搞事情的
回复

使用道具 举报

发表于 2021-7-24 08:34 | 显示全部楼层
回复

使用道具 举报

发表于 2021-7-24 23:03 | 显示全部楼层
命令: (atoi (rtos 9.9999 2 0))
10
回复

使用道具 举报

发表于 2021-7-25 08:57 | 显示全部楼层
海哥过来搞事情的
回复

使用道具 举报

发表于 2022-11-3 09:15 | 显示全部楼层
muwind 发表于 2021-7-24 23:03
命令: (atoi (rtos 9.9999 2 0))
10

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 02:18 , Processed in 0.276368 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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