포스팅 목차
o TRUNC
지정된 length로 숫자값을 절삭하여 반환한다. 숫자형의 기본 length는 8byte인데, 그 보다 작은 length를 지정한 경우에는 나머지 byte에는 0의 값이 저장이 된다.
정수가 아닌 경우에는 이러한 이유로 8byte로 지정된 수와 4byte가 지정된 수의 경우에는 다른 숫자로 인지를 하게 된다.
4byte의 경우 나머지 4byte에는 0의 값이 들어가게 되므로 서로 다른 숫자로 인지하기 때문이다.
Category: | 절 단 |
문 법
TRUNC (argument) |
Arguments
argument 는 상수.
관련 함수
함수명 | 함수내용 |
CEIL | 인수와 같거나 큰 정수중 가장 작은 정수를 반환한다. |
CEILZ | zero fuzzing을 이용하여 인수보다 같거나 큰 정수중 가장 작은 정수를 반환한다. |
FLOOR | 기준 변수보다 작은 수 중에서 제일 큰 정수를 반환한다. |
FLOORZ | zero fuzzing을 이용하여 인수보다 같거나 작은 정수중 가장 큰 정수를 반환한다. |
INT | 정수값을 반환한다. |
INTZ | Zero fuzzing을 이용하여서 정수값을 반환한다. |
MOD | 인수1을 인수2로 나눈 나머지 값을 반환한다. |
MODZ | zero fuzz를 이용하여 나머지 값 반환한다. |
ROUND | 두번째 인수의 가장 가까운 배수로 첫번째 인수를 반올림 하거나, 첫 번째 인수가 두 개의 가장 가까운 배수 사이의 절반인경우에는 짝수 배수를 반환한다. |
ROUNDE | 두번째 인수의 가장 가까운 배수로 첫번째 인수를 반올림 하고, 첫번째 인수가 두번째 인수와 가장 가까운 배수 사이의 중간일때 짝수 배수를 반환한다. |
ROUNDZ | zero fuzzing을 이용하여 두 번째 인수의 가장 가까운 배수로 반올림한다. |
TRUNC | 지정된 length로 숫자값을 절삭하여 반환한다. 숫자형의 기본 length는 8byte인데, 그 보다 작은 length를 지정한 경우에는 나머지 byte에는 0의 값이 저장이 된다. |
예 제
SAS Statements |
3byte가 지정된 1/5과 기본적(8byte) 1/5의 수는 다른 수이다. 3byte가 지정된 경우 나머지 메모리 5byte에 0 값이 들어가게 되어서 다른 숫자가 된다. 이런 경우 trunc함수를 통해서 같은 숫자로 맞춰줄수 있다.
data TRUNC;
length x 3;
x = 1/5;
run;
data TRUNC2;
set TRUNC;
if x ne 1/5 then put 'x ne 1/5';
if x eq trunc(1/5,3) then put 'x eq trunc(1/5,3)';
run;
Results |
x
0.19998
x ne 1/5
x eq trunc(1/5,3)
SAS 함수(SAS Function) 리스트 링크 |
엑셀(EXCEL)과 SAS 함수(SAS Function) 비교 리스트 링크 |
SAS 데이터 스텝 구문 리스트(SAS Data Step Statement) |
반응형
'SAS > SAS 함수' 카테고리의 다른 글
【SAS 함수】 417. UPCASE (0) | 2021.10.14 |
---|---|
【SAS 함수】 416. UNIFORM (0) | 2021.10.14 |
【SAS 함수】 414. TRIMN (0) | 2021.10.13 |
【SAS 함수】 413. TRIM (0) | 2021.10.13 |
[SAS 함수] 412. TRIGAMMA (0) | 2021.10.13 |
댓글