COMMENT FAIRE : Convertir une chaîne en un nombre à virgule flottante

Résumé

Dans une application développée avec Microsoft C ou C/C++, la fonction sscanf() constitue une bonne alternative à la fonction atof() pour convertir une chaîne de chiffres en un nombre à virgule flottante. Si une chaîne ne représente pas un nombre valide, atof() renvoie la valeur zéro ; sscanf() renvoie des informations d'erreur plus utiles. L'application peut utiliser la valeur d'erreur de sscanf() avec la fonction matherr() pour assurer la gestion d'erreur. La fonction atof() n'appelle matherr() que si une erreur d'exception mathématique réelle se produit.


Le texte ci-dessous présente deux méthodes recommandées pour convertir une chaîne en un nombre à virgule flottante.
  • Validez la chaîne à convertir avant d'appeler la fonction atof(). Assurez-vous que la chaîne ne contient aucun caractère non numérique, et que les caractères constituant le séparateur décimal et le signe sont correctement placés.
  • Utilisez la fonction sscanf(). Celle-ci est plus lente que la fonction atof(), mais elle fournit davantage d'informations en cas d'erreur.
Propriétés

ID d'article : 11558 - Dernière mise à jour : 5 juil. 2005 - Révision : 1

Commentaires