atof

Conversion de char en float

11/05/2008 6 378 lectures 5/5 (4 votes) Sébastien Sougnez

La structure interne ainsi que le design d'AreaProg ont récemment été modifiés.
Suite à cela, le format de certains articles a été perturbé. Le problème est connu et en cours de résolution. Merci de votre compréhension.

[LANGUAGE="FR"]Cette fonction est très interessante. Son rôle est de convertir une chaine de caractères en nombre à virgule flottante (float). Il faut bien évidemment que la chaine de caractère en question contienne une valeur convertissable. Essayez de convertir "Salut" en float posera quelques petits soucis. Voici la déclaration de cette fonction :
double atof (const char *nptr); 
Il suffit donc de passer la chaine de caractères en paramètre pour que la fonction renvoit le float correspond à la conversion de la chaine en question. Voyons cela grâce à ce petit exemple :
#include <stdio.h>
#include <stdlib.h>

int main()
{
	char *x = "12";
	char *y = "23";

	float coordX = atof(x);
	float coordY = atof(y);

	printf ("X : %f - Y : %f
", coordX, coordY);

	return 0;
} 
ImageImageImage
Nous commeçons simplement en déclarant deux chaines de caractères qui contiendront respectivement 12 et 23. Ensuite, nous déclarons deux variables float qui seront respectivement le résultat renvoyé par la fonction atof sur la variable x et y. Comme vous le voyez, il suffit simplement de passer la chaîne de caractères en paramètre de atof pour que celle-ci renvoit la valeur convertie de la chaîne de caractères. Pour prouver que cela fonctionne bien, nous affichons ensuite la valeur des deux variables.

Noter

Veuillez vous identifier ou vous inscrire pour donner une note à cet article.

Commentaires / Questions

Aucun commentaire.

Veuillez vous identifier ou vous inscrire pour réagir à cet article.

Avatar

Sébastien Sougnez

Envoyer un mail Site web Windows live messenger LinkedIn Twitter Facebook MVP Administrateur

25754 points