qq229918602 发表于 2012-4-12 22:52:21

如何控制输出的小数位问题

以下是LISP中的一段代码:
en (entsel "Select a LINE:")
          en_data (entget (car en))
          pts (assoc 10 en_data)
          pt1 (cdr pts)
          xx (car pt1)
          yy (cadr pt1)
请问如何保证输出的xx与yy是10位小数呢?
听说rtos能控制,不过不知道怎么用法?加入(rtos xx 2 10)的xx不是实数无法运行。
请求高手帮我添加一下,能保证输出的xx与yy是10位小数。万分感激!

xyp1964 发表于 2012-4-15 10:45:58

(setq s1 (car (entsel "Select a LINE: "))
      pt (vlax-curve-getstartPoint s1)
      xx (distof (rtos (car pt) 2 10))
      yy (distof (rtos (cadr pt) 2 10))
)

hgf876 发表于 2012-4-15 21:25:50

我试了一下
Command:
Command: (defun c:ttt ()
(_>   (setq s1 (car (entsel "Select a LINE: "))
((_> pt (vlax-curve-getstartPoint s1)
((_>   )
(_>   (princ "\n***")
(_>   (rtos (cadr pt) 2 10)
(_> )
C:TTT

Command: ttt Select a LINE:
***"5.5406616038"
可以啊

qq229918602 发表于 2012-4-15 22:10:20

问题解决了。谢谢各位。。

ryujacky 发表于 2012-4-16 08:45:18

学习了,谢谢
页: [1]
查看完整版本: 如何控制输出的小数位问题