ATOF |
Alpha à flottant |
Turbo C++ |
math.h, stdlib.h |
Syntaxe
double atof(const char *s);
|
Paramètres
Nom |
Description |
s |
Ce paramètre permet d'indiquer une chaîne de caractères (c'est-à-dire un tableau de caractères terminés par un caractère nul '\0') représentant un nombre à convertir en type double. |
Description
Cette fonction permet de convertir une chaîne de caractères en une valeur «float».
Remarques
- atof convertit une chaîne pointée par s en double ; cette fonction reconnaît la représentation textuelle d'un nombre à virgule flottante, composée des
éléments suivants : une chaîne de caractères facultative de tabulations et d'espaces; un signe facultatif; une chaîne de caractères de chiffres et un point décimal facultatif
(les chiffres peuvent être de chaque côté de la virgule); un e facultatif ou un E suivi d'un entier signé facultatif.
- Les caractères doivent respecter ce format générique :
[whitespace] [sign] [ddd] [.] [ddd] [e | E[sign]ddd]
|
- atof reconnaît également +INF et -INF pour l'infini plus ou moins, ainsi que +NAN et -NAN pour «Not-a-Number».
- Dans cette fonction, le premier caractère non reconnu termine la conversion.
- strtod est similaire à atof ; il offre une meilleure détection des erreurs et est donc privilégié dans certaines applications.
- Valeur de retour : atof renvoie la valeur convertie de la chaîne de caractères d'entrée.
- En cas de dépassement de capacité, atof renvoie plus ou moins HUGE_VAL, errno est défini sur ERANGE et matherr n'est pas appelé.
- Portabilité : atof est disponible sur les systèmes UNIX et est défini en
ANSI C.
Exemple
- #include <stdlib.h>
- #include <stdio.h>
-
- int main(void) {
- float f;
- char *str = "12345.678";
-
- f = atof(str);
- printf("chaîne de caractères = %s float = %5.3f\n", str, f);
- return 0;
- }
Voir également
atoi, atol, ecvt, fcvt, gcvt,
scanf, strtod.
Dernière mise à jour : Dimanche, le 28 Février 2021