@Hanwoo 문의 하신 내용에 대해 간략하게 답변드립니다.
1. put 함수 사용 시에 반올림 기능이 내장되어 있는 것이 맞나요? 아니면 반올림이 아닌 다른 기능이 내장되어 있는 것인가요?
put 함수에 반올림 기능이 내장된게 아니고, put 함수에 사용된 format w.d 에 반올림 기능이 내장되어 있다고 보시면 됩니다.
2. 만약 put 함수에 반올림 기능이 내장되어 있다면 처음 문의드린 사항처럼 반올림이 안되는 경우가 있던데, 이러한 사항은 왜 발생하는 건가요?
w.d format에 내장된 반올림 기능은 빈번하지는 않지만 가끔씩 제대로 작동하지 않는 경우가 있다고 합니다.
이는 컴퓨터 메모리에 숫자를 저장하는 방식에서 비롯되는건데, 해결은 되지 않는 것 같습니다.
아마 PROC SUMMARY에 의해 생성된 데이터셋에 저장된 median 값은 소숫점 이하 자리수가 많은 숫자로 저장될 것이고,
숫자를 할당문에서 직접 대입하면 소숫점 이하 자리수가 입력된 대로 저장되어서 결과가 다르게 나올 수 있다고 보시면 될 것 같습니다.
workaround로 round 함수를 사용하시면 동일할 결과를 얻으실 수 있으시니 참고해서 사용하시면 되겠습니다.