Section courante

A propos

Section administrative du site

ATOF

Alpha à Virgule flottante
Langage C stdlib.h

Syntaxe

double atof(const char *str)

Paramètres

Nom Description
str Ce paramètre permet d'indiquer la chaîne de caractères à convertir

Description

Cette fonction convertie une chaîne de caractères en une valeur «float».

Algorithme

* Entrée : Une chaîne de caractères str représentant un nombre décimal
* Sortie : Un nombre flottant (double)

MODULE ATOF(str)
   Initialiser index ← 0
   Initialiser résultat ← 0.0
   Initialiser signe ← 1
   Initialiser facteur_decimal ← 0.1

   * Ignorer les espaces blancs initiaux
   BOUCLE TANT QUE str[index] est un espace blanc FAIRE
      Incrémenter index
   FIN BOUCLE TANT QUE

   * Vérifier le signe
   SI str[index] = '-' ALORS
      signe ← -1
      Incrémenter index
   SINON SI str[index] = '+' ALORS
      Incrémenter index
   FIN SI

   * Lire les chiffres avant le point décimal
   BOUCLE TANT QUE str[index] est un chiffre FAIRE
      résultat ← (résultat x 10) + (valeur numérique de str[index])
      Incrémenter index
   FIN BOUCLE TANT QUE

   * Lire les chiffres après le point décimal
   SI str[index] = '.' ALORS
      Incrémenter index
      BOUCLE TANT QUE str[index] est un chiffre FAIRE
         résultat ← résultat + (valeur numérique de str[index]) x facteur_decimal
         facteur_decimal ← facteur_decimal / 10
         Incrémenter index
      FIN BOUCLE TANT QUE
   FIN SI

   RETOURNE résultat x signe

Remarques

Exemple

Voici quelques exemples typiques de l'utilisation de cette fonction :

Essayer maintenant !
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.     printf("atof('12')=%f\n",atof("12"));
  7.     printf("atof('13.14')=%f\n",atof("13.14"));
  8.     printf("atof('-7')=%f\n",atof("-7"));
  9.     printf("atof('-7E-05')=%f\n",atof("-7E-05"));
  10.     return 0;
  11. }

on obtiendra le résultat suivant :

atof('12')=12.000000
atof('13.14')=13.140000
atof('-7')=-7.000000
atof('-7E-05')=-0.000070

Voir également

Langage de programmation - C++ - Référence de procédures et fonctions - atof

Références

Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 730.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 33.

Dernière mise à jour : Mardi, le 28 juillet 2015