Compartir por


trunc, , truncf, truncl

Determina el entero más cercano menor o igual que el valor de punto flotante especificado.

Sintaxis

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

Parámetros

x
Valor que se va a truncar.

Valor devuelto

Si se ejecuta correctamente, las funciones devuelven un valor entero de x, redondeado hacia cero.

De lo contrario, las funciones pueden devolver uno de los siguientes valores:

Problema Return
x = ±INFINITY x
x = ±0 x
x = NaN NaN

Los errores se notifican como se especifica en _matherr.

Comentarios

Como C++ permite las sobrecargas, puede llamar a las sobrecargas de trunc que toman y devuelven los tipos float y long double. En un programa de C, a menos que use la macro de <tgmath.h> para llamar a esta función, trunc siempre toma y devuelve un double.

Si usa la macro <tgmath.h>trunc(), el tipo del argumento determina qué versión de la función se selecciona. Consulte Matemáticas de tipo genérico para obtener más información.

Dado que los valores de punto flotante más grandes son enteros exactos, esta función no se desbordará por sí sola. Pero puede hacer que la función se desborde al devolver un valor en un tipo entero.

También se puede redondear a la baja mediante la conversión implícita de punto flotante a entero, aunque esta operación se limita a los valores que pueden almacenarse en el tipo de destino.

Requisitos

Función Encabezado C Encabezado C++
trunc, , truncf, truncl <math.h> <cmath>
truncMacro <tgmath.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Consulte también

referencia de función alfabética
floor, , floorf, floorl
ceil, , ceilf, ceill
round, , roundf, roundl