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> |
trunc Macro |
<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