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.

Retornar valor

Se bem-sucedidas, as funções retornarão um valor inteiro de x, arredondado para zero.

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

Problema Retorno
x = ±INFINITY x
x = ±0 x
x = NaN NaN

Os erros são relatados conforme especificado no _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 você esteja usando a <macro tgmath.h> para chamar essa função, trunc sempre usa e retorna um doublearquivo .

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 transbordará 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 <matemática.h> <cmath>
Macro trunc <tgmath.h>

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

Confira também

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