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 x
para 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