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
Значение для усечения.
Возвращаемое значение
В случае успешного выполнения функции возвращают целочисленное значение x
, округленное до нуля.
В противном случае функции могут возвращать одно из следующих значений:
Проблема | Возврат |
---|---|
x = ±INFINITY |
x |
x = ±0 |
x |
x = не число |
Не число |
Ошибки сообщаются, как указано в _matherr
.
Замечания
Поскольку C++ допускает перегрузки, можно вызывать перегрузки функции trunc
, принимающие и возвращающие типы float
и long double
. В программе C, если вы не используете <макрос tgmath.h> для вызова этой функции, trunc
всегда принимает и возвращает значение double
.
Если вы используете <макрос tgmath.h>trunc()
, тип аргумента определяет, какая версия функции выбрана. Дополнительные сведения см . в разделе "Математика с универсальным типом".
Так как самые большие значения с плавающей запятой являются точными целыми числами, эта функция не будет переполнена самостоятельно. Тем не менее можно вызвать переполнение этой функции, возвращая значение в целочисленный тип.
Можно также округлять в меньшую сторону, выполняя неявное преобразование из типа с плавающей запятой в целочисленный тип; однако это можно делать только со значениями, которые могут храниться в целевом типе.
Требования
Function | Заголовок C | Заголовок C++ |
---|---|---|
trunc , , truncf truncl |
<math.h> | <cmath> |
trunc Макрос |
<tgmath.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
См. также
Справочник по алфавитной функции
floor
, , floorf
floorl
ceil
, , ceilf
ceill
round
, , roundf
roundl