Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Fonctions floor, floorf et floorl

Entête à inclure

#include <math.h>  // <cmath> en C++

Fonctions floor, floorf et floorl

double      floor( double value );
float       floorf( float value );                // C99
long double floorl( long double value );          // C99

Ces trois fonctions calculent l'arrondi entier inférieur (floor signifiant plancher) de la valeur spécifiée en paramètre. Attention aux valeurs négatives : par exemple, la valeur plancher de -3.14 est -4 car cette dernière est inférieure à -3.14.

Ces fonctions sont souvent mises en opposition aux fonctions ceil, ceilf et ceill qui calculent l'arrondi entier supérieur (ceil signifiant plafond).

La différence entre ces trois fonctions réside dans le type de données utilisé pour le paramètre et la valeur de retour (double, float ou long double). Les fonctions floorf et floorl ont été ajoutées dans C99.

Paramètre

Valeur de retour

Renvoie un arrondi entier à la valeur inférieure.

Exemple de code

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

int main() {

    double value;

    printf( "Veuillez saisir une valeur flottante : " );
    scanf( "%lf", &value );

    printf( "L'arrondi inférieur vaut : %g\n", floor( value ) );
    
    return EXIT_SUCCESS;
}
Exemple d'utilisation de la fonction floor

Il est à noter que la librairie mathématique doit être ajoutée durant l'étape de "link" (édition des liens) de votre exécutable. Cela se réalise en ajoutant l'option -lm à votre compilateur gcc. En cas d'utilisation d'un autre compilateur, je vous renvoie vers la documentation de ce dernier.

$>  gcc -o sample sample.c -lm
$>  ./sample
Veuillez saisir une valeur flottante : 3.1415926
L'arrondi inférieur vaut : 3
$>  ./sample
Veuillez saisir une valeur flottante : -3.1415926
L'arrondi inférieur vaut : -4
$> 

Sujets connexes

Les fonctions ceil, ceilf et ceill
Les fonctions round, roundf et roundl
Les fonctions trunc, truncf et truncl
La méthode Math.floor en Java
La fonction floor en Python