Lv.0 등록일: 2014-11-202014-11-20T16:34:43+09:00 2014-11-20T16:34:43+09:00카테고리: AutoCAD & CADian 소수점 반올림 rtos 는 뒤에 글자 억제로 알고 있는데치수 표기처럼 0.05 배수로 반올림 같은 형태를 취하려면 어떻게 하나요? 공유 Facebook 관련 있는 질문들 insert 삽입할때 레이어도 같이 변경가능할까요? 캐드 파일을 PDF로 변환 할 때 문제점 도와주세요 ㅠ 질문오토캐드 라인타입이 너무 많은데 어떻게 정리하나요.. 질문오토캐드 라인타입이 너무 많은데 어떻게 정리하나요.. 4 답변 작성 순 최신 순 공감 순 [Deleted User] 2014-11-21T08:59:59+09:00답변 등록 답변 등록 일시 2014-11-21 8:59 am 위 예시대로라면 6.74 가 나오면 안되고 6.75가 나오는 형태를 원합니다 ㅠ 0.05배수 가 되도록 반올림이죠.해보니 동작은 하는데.. 역시 2째자리가 5로 반올림이 안되네요. 수야12 Lv.21 2014-11-20T20:42:22+09:00답변 등록 답변 등록 일시 2014-11-20 8:42 pm 또 다른 버전이용 (defun LM:Roundto ( n p ) (/ (fix (+ (* n (setq p (expt 10. p))) (if (minusp n) -0.5 0.5))) p))사용법 _$ (LM:Roundto 6.7352 3)6.735_$ (LM:Roundto 6.7352 2)6.74_$ (LM:Roundto 6.7352 1)6.7_$ (LM:Roundto 6.7352 0)7.0 [Deleted User] 2014-11-20T18:49:17+09:00답변 등록 답변 등록 일시 2014-11-20 6:49 pm 음… 어떻게 해도 안되는데.. 예를들어 12.345 -> 0.05반올림 하여 12.35 로12.321 이라면 -> 0.05 반올림 하여 12.3 으로하는것을 원하는데 그게 저 식으로 가능한가요? 제가 잘못한건지 정수로만 나와서..ㅠ(fix를 빼보니 증가감도 이상하게 되니..) 수야12 Lv.21 2014-11-20T17:21:42+09:00답변 등록 답변 등록 일시 2014-11-20 5:21 pm 유명한 리맥씨 서브루티입니다 (defun LM:Round ( n ) (fix (+ n (if (minusp n) -0.5 0.5))))
위 예시대로라면 6.74 가 나오면 안되고 6.75가 나오는 형태를 원합니다 ㅠ
0.05배수 가 되도록 반올림이죠.
해보니 동작은 하는데.. 역시 2째자리가 5로 반올림이 안되네요.
또 다른 버전이용
(defun LM:Roundto ( n p ) (/ (fix (+ (* n (setq p (expt 10. p))) (if (minusp n) -0.5 0.5))) p))
사용법
_$ (LM:Roundto 6.7352 3)
6.735
_$ (LM:Roundto 6.7352 2)
6.74
_$ (LM:Roundto 6.7352 1)
6.7
_$ (LM:Roundto 6.7352 0)
7.0
음… 어떻게 해도 안되는데..
예를들어 12.345 -> 0.05반올림 하여 12.35 로
12.321 이라면 -> 0.05 반올림 하여 12.3 으로
하는것을 원하는데 그게 저 식으로 가능한가요?
제가 잘못한건지 정수로만 나와서..ㅠ(fix를 빼보니 증가감도 이상하게 되니..)
유명한 리맥씨 서브루티입니다
(defun LM:Round ( n ) (fix (+ n (if (minusp n) -0.5 0.5))))