本帖最后由 ll_j 于 2013-2-2 21:21 编辑
来个更通用的: -
- (defun dig (num nn dn / n0 oldd ns) ; num数值,nn整数位数,dn小数位数
- (setq oldd (getvar "dimzin"))
- (setvar "dimzin" 0)
- (setq ns (rtos num 2 dn))
- (if (< num (expt 10 nn))
- (progn
- (setq n0 (if (/= 1000 num)
- (fix (/ (log num) (log 10.0)))
- 3
- )
- n0 (- nn n0 1)
- )
- (if (> n0 0)
- (repeat n0 (setq ns (strcat "0" ns)))
- ns
- )
- )
- ns
- )
- (setvar "dimzin" oldd)
- ns
- )
|