Поделиться через


trunc, , truncftruncl

Определяют ближайшего целое число, которое меньше или равно заданному значению с плавающей запятой.

Синтаксис

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, , truncftruncl <math.h> <cmath>
truncМакрос <tgmath.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

См. также

Справочник по алфавитной функции
floor, , floorffloorl
ceil, , ceilfceill
round, , roundfroundl