Compartilhar via


trunc, truncf, truncl

Determina o inteiro mais próximo que é menor ou igual ao valor de ponto flutuante especificado.

Sintaxe

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
O valor a ser truncado.

Valor retornado

Se for bem-sucedido, as funções retornarão um valor inteiro de , arredondado xpara zero.

Caso contrário, as funções podem retornar um dos seguintes valores:

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

Os erros são relatados conforme especificado em _matherr.

Comentários

Como C++ permite sobrecargas, é possível chamar sobrecargas de trunc que usam e retornam tipos float e long double. Em um programa C, a menos que esteja usando a macro <tgmath.h> para chamar essa função, trunc sempre recebe e retorna um double.

Se você usa a macro <tgmath.h>trunc(), o tipo do argumento determina qual versão da função será selecionada. Confira Matemática do tipo genérico para obter detalhes.

Como os maiores valores de ponto flutuante são inteiros exatos, essa função não estourará por conta própria. No entanto, você pode causar o estouro, retornando um valor para um tipo inteiro.

Você também pode arredondar para baixo pela conversão implícita de ponto flutuante para integral; no entanto, isso é limitado aos valores que podem ser armazenados no tipo de destino.

Requisitos

Função Cabeçalho C Cabeçalho C++
trunc, truncf, truncl <math.h> <cmath>
Macro trunc <tgmath.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Confira também

Referência alfabética de função
floor, floorf, floorl
ceil, ceilf, ceill
round, roundf, roundl