Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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 later
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