Round to a truncated integer value
#include <math.h> double trunc(double x); float truncf(float x); long double truncl(long double x);
The trunc(), truncf(), and truncl() functions round their argument to the integer value, in floating format, nearest to but no larger in magnitude than the argument.
To check for error situations, use feclearexcept() and fetestexcept(). For example:
The truncated integer value. The result has the same sign as x.
If x is: | These functions return: | Errors: |
---|---|---|
±0.0 | x | — |
±Inf | x | — |
NaN | NaN | — |
These functions raise FE_INEXACT if the FPU reports that the result can't be exactly represented as a floating-point number.
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | No |
Thread | Yes |