例如:如果是803,取810,如果是816,取820。好像指定数量级和指定有效位数都不确切。


网友答: (if (> (rem 803 10) 0)
   (* 10 (fix (1+ (/ 803 10))))
   803
)

网友答:
  1. (* 10 (fix (+ 0.99 (* 0.1 NUM))))


网友答: 谢谢两位,思路很好,我怎么想不到,欠缺的还很多呀。

网友答:

网友答: ;;    =============================================
;;    |            指定模数给数值向上取整           |
;;    =============================================
;;说明:指定模数给数值向上取整
;;参数:sz:数值
;;参数:ms:模数
;;返回fx-szqz 756.5 50)->800  (fx-szqz 749.5 100)->800 (fx-szqz 749.5 50)->750
(defun fx-szqz (sz ms)
        (setq sz (float sz))
        (if (> (rem sz ms) 0)
                (* ms (fix (1+ (/ sz ms))))
                sz
        )
)

网友答: 不用乘法的方式,加取整模数,再把余数减除:
(+ 803 10 (- (rem 803 10))
  • 上一篇:【TB原创】tbTools(AutoCAD工具箱):包括批量打印、
  • 下一篇:没有了