면적리습 소수점 3자리까지 나오게 수정부탁드립니다.
컨텐츠 정보
- 428 조회
- 2 댓글
- 0 추천
- 0 비추천
- 목록
본문
고캐드에서 면적리습 검색하다 찾은 리습인데요
소수점 1자리만 나오더라구요. 소수점 3자리까지 나오게하려면 어찌해야하는지 알려주세요
4사5입이 무슨말인지 모르겠어요 @.@
;;=======================================================================;;
; Quick Area 3 ;
; -> pline, 또는 내부를 선택하여 면적 표기 (소숫점 3자리구하기 – 4사5입) ;
;;———————————————————————–;;
(defun c:AR(/ choi d_ts w_os grpt pt1 ent1 en1 ar1 ar2 ar3 ar4 ar5 an arm ht)
(prompt "…면적구하기")
(setq choi (getvar "orthomode") d_ts (getvar "textsize")
w_os (getvar "osmode") )
(setvar "orthomode" 0)
(setq ht d_ts)
(prompt "nText Height<") (prin1 ht) (prompt ">: ")
(setq ht (getdist))
(if (= ht nil) (setq ht d_ts))
;;
(setq ent1 (entsel "nPline 선택->"))
(if (/= ent1 nil)(progn
(setq en1 (car ent1)) (redraw en1 3)
(setq grpt (grread T))
(setq pt1 (cadr grpt))
(command "area" "e" ent1)
))
;-boundary start
(if (= ent1 nil)(progn
(prompt "nSelect internal point->")
(command "boundary" pause "")
(setq en1 (entlast))(redraw en1 3)
(command "area" "e" "l")
(setq pt1 (getvar "lastpoint"))
));-boundary end
(setq ar1 (/ (getvar "area") 10))
(setq ar2 (rtos ar1 2 0))
(setq an (strlen ar2))
(setq arm (substr ar2 (- an 1) 1))
(setq arm (atof arm))
(setq ar3 (atoi ar2))
(if (>= arm 5)(progn
(setq ar3 (+ ar3 100))
))
(setq ar3 (rtos ar3 2 0))
(setq ar4 (strcat (substr ar3 1 (- an 5)) "." (substr ar3 (- an 4) 1) ))
(if (= (substr ar4 1 1) ".") (setq ar4 (strcat "0″ ar4)))
(setq ar5 (strcat (substr ar2 1 (- an 5)) "." (substr ar2 (- an 4) 5) ))
(if (= (substr ar5 1 1) ".") (setq ar5 (strcat "0″ ar5)))
(command "text" "j" "r" pt1 ht "0″ ar4)
(prompt "nEnter text point->")
(command "move" "l" "" pt1 pause)
(redraw en1 4)
(prompt "nArea : ")(prin1 ar5) (prompt " or ")(prin1 ar4)(terpri)
(setvar "orthomode" choi) (setvar "osmode" w_os)
(prin1)
)
관련자료
상큼메론90님의 댓글
4사5입 은 참 오랫만에 들어보는 말입니다. 학교다닐때 소설을 읽어 보니까 사사오입이라는 말이 나오데요.
반올림을 한다는 말인데, 아래 참고해 보세요…
.