Partager via


trunc, , truncftruncl

Détermine l’entier le plus proche dont la valeur est inférieure ou égale à la valeur à virgule flottante spécifiée.

Syntaxe

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

Paramètres

x
Valeur à tronquer.

Valeur retournée

Si elle réussit, les fonctions retournent une valeur entière de x, arrondie à zéro.

Sinon, les fonctions peuvent retourner l’une des valeurs suivantes :

Problème Retour
x = ±INFINITY x
x = ±0 x
x = NaN NaN

Les erreurs sont signalées comme spécifié dans _matherr.

Notes

C++ autorisant la surcharge, vous pouvez appeler des surcharges de trunc qui acceptent et retournent des types float et long double. Dans un programme C, sauf si vous utilisez la macro <tgmath.h> pour appeler cette fonction, trunc prend toujours et retourne double.

Si vous utilisez la macro <tgmath.h>trunc(), le type de l’argument détermine la version de la fonction sélectionnée. Pour plus d’informations, consultez les mathématiques génériques de type.

Étant donné que les plus grandes valeurs à virgule flottante sont des entiers exacts, cette fonction ne dépasse pas elle-même. Cependant, vous pouvez causer le dépassement de capacité de la fonction en retournant une valeur sous dans un type entier.

Vous pouvez aussi arrondir vers le bas en convertissant de manière implicite une valeur à virgule flottante en entier ; cependant, cette opération se limite aux valeurs qui peuvent être stockées dans le type cible.

Spécifications

Fonction En-tête C En-tête C++
trunc, , truncftruncl <math.h> <cmath>
Macro trunc <tgmath.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Voir aussi

Référence de fonction alphabétique
floor, , floorffloorl
ceil, , ceilfceill
round, , roundfroundl