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 :

Fonction atof

La fonction atexit La fonction atoi


Entête à inclure

#include <stdlib.h>  // <cstdlib> en C++

Fonction atof

double atof( const char * theString ); 

Cette fonction permet de transformer une chaîne de caractères, représentant une valeur flottante, en une valeur numérique de type double. Le terme d'atof est un acronyme signifiant : ASCII to float.

la fonction atof retourne la valeur 0 si la chaîne de caractères ne contient pas une représentation de valeur numérique. Du coup, il n'est pas possible de distinguer la chaîne "0.0" d'une chaîne ne contenant pas un nombre flottant. Si vous avez cette difficulté, veuillez préférer l'utilisation des fonctions strtof ou strtod qui permettent bien de distinguer les deux cas.

Paramètres

Valeur de retour

Si la chaîne à convertir ne contient pas une donnée numérique flottante, la valeur 0 vous sera retournée. Sinon, une valeur de type double équivalente à la chaîne passée en paramètre vous sera retournée.

Exemple de code

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
 24 
 25 
 26 
 27 
 28 
 29 
 30 
 31 
 32 
 33 
 34 
 35 
 36 
 37 
 38 
 39 
 40 
#include <stdio.h>
#include <stdlib.h>


int main( int argc, char * argv[] ) {

    /*
     * Doit-on afficher l'usage de la commande.
     */
    if ( argc == 1 ) {
        printf( "Usage: %s doubleValue ...\n", argv[0] );
        exit( EXIT_SUCCESS );
    }

    /*
     * On passe le nom de l'exécutable qui est
     * en première position dans les arguments.
     */
    argc--;   argv++;

    double sum = 0.0;

    /*
     * On somme toutes les valeurs passées en arguments de programme.
     * Pour ce faire on déplace le pointeur argv pour scanner tous les arguments.
     */
    while ( argc != 0 ) {

        sum += atof( *argv++ );
        argc--;

    }

    /*
     * Et on affiche le résultat
     */
    printf( "La somme des valeurs saisies est de %.2lf.\n", sum );

    return EXIT_SUCCESS;
}
Exemple d'utilisation de la fonction atof

Et voici le résultat produit par cet exemple.

$> gcc -o sample sample.c
$> ./sample 3.14 10.1 7.8
La somme des valeurs saisies est de 21.04.
$>

Sujets connexes

<stdlib.h>
abs
atoi, atol, atoll
strtod, strtol, strtoll, strtold, strtoul, strtoull


La fonction atexit La fonction atoi