例如:如果是803,取810,如果是816,取820。好像指定数量级和指定有效位数都不确切。
网友答: (if (> (rem 803 10) 0)
(* 10 (fix (1+ (/ 803 10))))
803
)网友答:
网友答:
谢谢两位,思路很好,我怎么想不到,欠缺的还很多呀。网友答:


网友答:
;; =============================================
;; | 指定模数给数值向上取整 |
;; =============================================
;;说明:指定模数给数值向上取整
;;参数: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))
网友答: (if (> (rem 803 10) 0)
(* 10 (fix (1+ (/ 803 10))))
803
)网友答:

- (* 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))