maq 发表于 2022-9-7 05:48:07

将数字四舍五入到 5mm

我正在努力制作自己的 lisp 例程,这有助于增加平面图的高度。这个想法是从 3D 点云中读取高度差并将其呈现在 2D 平面图上。
老实说,我没有出色的编程技能,回到 90 年代,我在 C64 和 Amiga 上玩 BASIC 所以,请原谅我糟糕的代码结构..!

我被困在需要将数字四舍五入到 5 毫米的步骤上。我有一个应该解决这个问题的想法,但它并没有按照我的意愿工作,我试图了解我的代码有什么问题。我希望您能提供帮助或提出更好的解决方案。

主要思想看起来很简单:
我认为范围 0.0000-0.0025 不应该改变这个数字,0.0025-0.0075 应该四舍五入到 0.005,任何高于 0.0075 的都应该四舍五入到 0.010。
最后,它不能很好地运行。

lrm 发表于 2022-9-7 06:54:55

我假设您的目标是四舍五入到 5 的倍数。Rem 有助于四舍五入。
(defun c:RoundUp ( / a b)(setq a (getreal "\nEnter number: "))(setq b ( + 5 (- a (rem a 5.))))(princ "\Rounded up value = ") (princ b)      (princ) )         
页: [1]
查看完整版本: 将数字四舍五入到 5mm