trunc, truncf, truncl
              
  | 
             
              
  | 
             
              
  | 
            |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
           
           Défini dans l'en-tête
            
         
            
             
              <math.h>
             
            
           
           | 
         ||
| 
           
           
            
             float
            
            truncf
            
             (
            
            
             float
            
            arg
            
             )
            
            
             ;
            
           
           
          | 
         (1) | (depuis C99) | 
| 
           
           
            
             double
            
            trunc
            
             (
            
            
             double
            
            arg
            
             )
            
            
             ;
            
           
           
          | 
         (2) | (depuis C99) | 
| 
           
           
            
             long
            
            
             double
            
            truncl
            
             (
            
            
             long
            
            
             double
            
            arg
            
             )
            
            
             ;
            
           
           
          | 
         (3) | (depuis C99) | 
| 
           
           Défini dans l'en-tête
            
         
            
             
              <tgmath.h>
             
            
           
           | 
         ||
| 
           
           
            
             #define trunc( arg )
            
           
           
          | 
         (4) | (depuis C99) | 
        truncl
       
       est appelé. Sinon, si
       
        
         arg
        
       
       a un type entier ou le type
       
        
         double
        
       
       ,
       
        trunc
       
       est appelé. Sinon,
       
        truncf
       
       est appelé.
      
         Table des matières | 
       
Paramètres
| arg | - | valeur en virgule flottante | 
Valeur de retour
Si aucune erreur ne se produit, la valeur entière la plus proche dont la magnitude n'est pas supérieure à arg (en d'autres termes, arg arrondie vers zéro), est retournée.
Gestion des erreurs
       Les erreurs sont signalées comme spécifié dans
       
        
         math_errhandling
        
       
       .
      
Si l'implémentation prend en charge l'arithmétique à virgule flottante IEEE (IEC 60559) :
- Le mode d'arrondi actuel n'a aucun effet.
 - Si arg est ±∞, il est retourné, non modifié.
 - Si arg est ±0, il est retourné, non modifié.
 - Si arg est NaN, NaN est retourné.
 
Notes
FE_INEXACT peut être (mais n'est pas obligatoirement) déclenchée lors de la troncation d'une valeur finie non entière.
Les plus grandes valeurs représentables en virgule flottante sont des entiers exacts dans tous les formats standard de virgule flottante, donc cette fonction ne provoque jamais de dépassement de capacité par elle-même ; cependant le résultat peut dépasser la capacité de tout type entier (y compris intmax_t ), lorsqu'il est stocké dans une variable entière.
La conversion implicite des nombres à virgule flottante vers les types entiers arrondit également vers zéro, mais est limitée aux valeurs pouvant être représentées par le type cible.
Exemple
Sortie possible :
trunc(+2.7) = +2.0 trunc(-2.7) = -2.0 trunc(-0.0) = -0.0 trunc(-Inf) = -inf
Références
- Norme C23 (ISO/CEI 9899:2024) :
 
- 
         
- 7.12.9.8 Les fonctions trunc (p: TBD)
 
 
- 
         
- 7.25 Mathématiques génériques de type <tgmath.h> (p: TBD)
 
 
- 
         
- F.10.6.8 Les fonctions trunc (p: TBD)
 
 
- Norme C17 (ISO/CEI 9899:2018) :
 
- 
         
- 7.12.9.8 Les fonctions trunc (p: TBD)
 
 
- 
         
- 7.25 Mathématiques génériques de type <tgmath.h> (p: TBD)
 
 
- 
         
- F.10.6.8 Les fonctions trunc (p: TBD)
 
 
- Norme C11 (ISO/CEI 9899:2011) :
 
- 
         
- 7.12.9.8 Les fonctions trunc (p: 253-254)
 
 
- 
         
- 7.25 Mathématiques génériques de type <tgmath.h> (p: 373-375)
 
 
- 
         
- F.10.6.8 Les fonctions trunc (p: 528)
 
 
- Norme C99 (ISO/CEI 9899:1999) :
 
- 
         
- 7.12.9.8 Les fonctions trunc (p: 234)
 
 
- 
         
- 7.22 Mathématiques génériques de type <tgmath.h> (p: 335-337)
 
 
- 
         
- F.9.6.8 Les fonctions trunc (p: 464)
 
 
Voir aussi
| 
          
           
            
            
            
             
              (C99)
             
            
            
             
              (C99)
             
            
           
           
          | 
        
         calcule le plus grand entier inférieur ou égal à la valeur donnée
          (fonction)  | 
       
| 
          
           
            
            
            
             
              (C99)
             
            
            
             
              (C99)
             
            
           
           
          | 
        
         calcule le plus petit entier supérieur ou égal à la valeur donnée
          (fonction)  | 
       
| 
          
           
            
             
              (C99)
             
            
            
             
              (C99)
             
            
            
             
              (C99)
             
            
            
             
              (C99)
             
            
            
             
              (C99)
             
            
            
             
              (C99)
             
            
            
             
              (C99)
             
            
            
             
              (C99)
             
            
            
             
              (C99)
             
            
           
           
          | 
        
         arrondit à l'entier le plus proche, en s'éloignant de zéro pour les cas médians
          (fonction)  | 
       
| 
          
          
           
            Documentation C++
           
          
          pour
          
           
            trunc
           
          
          
         | 
       |