|
|
|
Defined in header <math.h> | ||
float truncf(float arg); | (1) | (since C99) |
double trunc(double arg); | (2) | (since C99) |
longdouble truncl(longdouble arg); | (3) | (since C99) |
Defined in header <tgmath.h> | ||
#define trunc( arg ) | (4) | (since C99) |
truncl
is called. Otherwise, ifarg has integer type or the typedouble,trunc
is called. Otherwise,truncf
is called.Contents |
arg | - | floating-point value |
If no errors occur, the nearest integer value not greater in magnitude thanarg (in other words,arg rounded towards zero), is returned.
Errors are reported as specified inmath_errhandling
.
If the implementation supports IEEE floating-point arithmetic (IEC 60559):
FE_INEXACT may be (but isn't required to be) raised when truncating a non-integer finite value.
The largest representable floating-point values are exact integers in all standard floating-point formats, so this function never overflows on its own; however the result may overflow any integer type (includingintmax_t), when stored in an integer variable.
The implicit conversion from floating-point to integral types also rounds towards zero, but is limited to the values that can be represented by the target type.
Possible output:
trunc(+2.7) = +2.0trunc(-2.7) = -2.0trunc(-0.0) = -0.0trunc(-Inf) = -inf
(C99)(C99) | computes largest integer not greater than the given value (function)[edit] |
(C99)(C99) | computes smallest integer not less than the given value (function)[edit] |
(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99) | rounds to nearest integer, rounding away from zero in halfway cases (function)[edit] |
C++ documentation fortrunc |