trunc
, , truncf
truncl
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 , , truncf truncl |
<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
, , floorf
floorl
ceil
, , ceilf
ceill
round
, , roundf
roundl