숫자 합계 리습 좀 봐주실분 계신가요~
컨텐츠 정보
- 311 조회
- 0 추천
- 0 비추천
- 목록
본문
안녕하세요.
힘들게 숫자 합계하는 리습을 구했는데요..
소수점 한자리만 나와서 불편하네요..ㅠ
소수점 조정은 어떻게하는지 좀 알려주세요~
(둘째자리까지 필요합니다.)
제일 원하는것은 ^^; 텍스트크기 따위 묻지도 않고.. 기본적으로 소수점 둘째로 셋팅되어서
바로 최종값이 나오면 좋겠네요..ㅎㅎ
부탁드립니다 (–)(__)
(DEFUN c:tsm (/ TSS PSS SUM_TS SUM_PRC SS E ZO SUM_ SUM_SUM NO SUM_ P1)
(vl-load-com)
(defun dtr (a) (* pi (/ a 180.0)))
(defun rtd (a) (* 180.0 (/ a pi))) ;(defun rtd (a) (/ (* a 180.0) pi))
(defun tan (a) (/ (sin a) (cos a)))
(setvar "cmdecho" 0)
(setvar "dimzin" 1)
(if (not (setq _SC (getreal (strcat "n현재 TextSize : <" (rtos(getvar "textsize") 2 2) "> 입니다. 원하는 Text 크기를 입력하세요, 원치 않으면 그냥 엔터를 치세요 : "))))
(setq _SC (getvar "textsize"))
(setvar "textsize" _SC)
);;if
;(setq _SC (getvar "textsize"))
(if (= TS nil)(setq TS 1))
(if (= PRC nil)(setq PRC 1))
(defun SUM_TS ()
(setq TSS (getreal (strcat "n>> Text size <"(rtos TS)">:")))
(if (numberp TSS)(setq TS TSS))
(SUM_Q)
)
(defun SUM_PRC ()
(setq PSS (getint (strcat "n>> Decimal Precision <"(rtos PRC)"> :")))
(if (numberp PSS)(setq PRC PSS))
(SUM_Q)
(setq SUM_ (rtos SUM_SUM 2 PRC))
)
(prompt "n>> Select Entities To Sum. 숫자들을 선택하세요 :")
; (setq SS (ssget))
(setq SS (ssget '((0 . "TEXT"))))
(setq SUM_SUM 0)
(SETQ NO 0)
(WHILE (SETQ E (SSNAME SS NO))
(SETQ ZO (ENTGET E))
(SETQ SUM_ (ASSOC 1 ZO))
(setq SUM_ (cdr SUM_))
(setq SUM_ (atof SUM_))
(setq SUM_SUM (+ SUM_SUM SUM_))
(ENTMOD ZL)
(SETQ NO (1+ NO))
)
(setq SUM_ (rtos SUM_SUM 2 PRC))
(defun SUM_Q ()
(initget "Size Precision")
; (setq P1 (getpoint (strcat
; "n>> Size<"(rtos TS)">/Precision<"(rtos PRC)">/Text point <"SUM_"> : 값이 찍힐 곳을 클릭하세요 :")))
(setq P1 (getpoint (strcat
"n>> 합계 < "SUM_" > / Precision <"(rtos PRC)"> : 소숫점 변경은 P를 입력하세요. 선택사항이 없으면, 값이 찍힐 곳을 클릭하세요 :")))
(cond ((= P1 "Size")(SUM_TS))
((= P1 "Precision")(SUM_PRC))
)
)
(SUM_Q)
(if (/= P1 nil)
(progn
(command "text" "j" "r" P1 (* _SC TS) "0″ SUM_)
)
)
(princ)
)
(princ "nt text SUM loaded. Command: SUM ")
(princ)