trunc
, , truncf
truncl
지정한 부동 소수점 값보다 작거나 같은 가장 가까운 정수를 확인합니다.
구문
double trunc( double x );
long double truncl( long double x );
#define trunc(X) // Requires C11 or higher
long double trunc( long double x ); //C++ only
float trunc( float x ); //C++ only
매개 변수
x
자를 값입니다.
반환 값
성공하면 함수는 0으로 반올림된 정수 값을 x
반환합니다.
그렇지 않으면 함수는 다음 값 중 하나를 반환할 수 있습니다.
문제 | Return |
---|---|
x = ±INFINITY |
x |
x = ±0 |
x |
x = NaN |
NaN |
오류는 _matherr
에 지정된 대로 보고됩니다.
설명
C++는 오버로딩을 허용하기 때문에 trunc
및 float
형식을 사용하고 반환하는 long double
의 오버로드를 호출할 수 있습니다. C 프로그램에서 이 함수를 호출하기 위해 <tgmath.h> 매크로를 사용하지 않는 한, trunc
은 항상 double
을 취하고 반환합니다.
<tgmath.h>trunc()
매크로를 사용하는 경우 인수 형식에 따라 선택되는 함수 버전이 결정됩니다. 자세한 내용은 형식-제네릭 수학을 참조하세요.
가장 큰 부동 소수점 값은 정확한 정수이므로 이 함수는 자체적으로 오버플로되지 않습니다. 그러나 값을 정수값으로 반환하여 함수가 오버플로되도록 할 수 있습니다.
부동 소수점에서 정수 계열로 암시적으로 변환하여 값을 내릴 수도 있습니다. 단, 대상 종류에 저장할 수 있는 값만 이렇게 변환할 수 있습니다.
요구 사항
함수 | C 헤더 | C++ 헤더 |
---|---|---|
trunc , , truncf truncl |
<math.h> | <cmath> |
trunc 매크로 |
<tgmath.h> |
호환성에 대한 자세한 내용은 호환성을 참조하세요.
참고 항목
사전순 함수 참조
floor
, , floorf
floorl
ceil
, , ceilf
ceill
round
, , roundf
roundl