Lv.0 등록일: 2014-11-202014-11-20T16:34:43+09:00 2014-11-20T16:34:43+09:00카테고리: AutoCAD & CADian 소수점 반올림 rtos 는 뒤에 글자 억제로 알고 있는데치수 표기처럼 0.05 배수로 반올림 같은 형태를 취하려면 어떻게 하나요? 공유 Facebook 관련 있는 질문들 도면 복사로 가져올때 치수, 품목list가 변해요 캐드 평면도 표현이게 맞나요? 561개 무료 리습 패키지 공유! XR작업시 0 레이어 일괄 변경 오류 4 답변 작성 순 최신 순 공감 순 수야12 Lv.22 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)))) [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.22 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-21T08:59:59+09:00답변 등록 답변 등록 일시 2014-11-21 8:59 am 위 예시대로라면 6.74 가 나오면 안되고 6.75가 나오는 형태를 원합니다 ㅠ 0.05배수 가 되도록 반올림이죠.해보니 동작은 하는데.. 역시 2째자리가 5로 반올림이 안되네요.
유명한 리맥씨 서브루티입니다
(defun LM:Round ( n ) (fix (+ n (if (minusp n) -0.5 0.5))))
음… 어떻게 해도 안되는데..
예를들어 12.345 -> 0.05반올림 하여 12.35 로
12.321 이라면 -> 0.05 반올림 하여 12.3 으로
하는것을 원하는데 그게 저 식으로 가능한가요?
제가 잘못한건지 정수로만 나와서..ㅠ(fix를 빼보니 증가감도 이상하게 되니..)
또 다른 버전이용
(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
위 예시대로라면 6.74 가 나오면 안되고 6.75가 나오는 형태를 원합니다 ㅠ
0.05배수 가 되도록 반올림이죠.
해보니 동작은 하는데.. 역시 2째자리가 5로 반올림이 안되네요.