Fonction de bibliothèque C - strtod ()

La description

La fonction de bibliothèque C double strtod(const char *str, char **endptr) convertit la chaîne pointée par l'argument strà un nombre à virgule flottante (tapez double). Siendptr n'est pas NULL, un pointeur vers le caractère après le dernier caractère utilisé dans la conversion est stocké à l'emplacement référencé par endptr.

Déclaration

Voici la déclaration de la fonction strtod ().

double strtod(const char *str, char **endptr)

Paramètres

  • str - Il s'agit de la valeur à convertir en chaîne.

  • endptr- Il s'agit de la référence à un objet déjà alloué de type char *, dont la valeur est définie par la fonction sur le caractère suivant de str après la valeur numérique.

Valeur de retour

Cette fonction renvoie le nombre à virgule flottante converti sous forme de valeur double, sinon la valeur zéro (0,0) est renvoyée.

Exemple

L'exemple suivant montre l'utilisation de la fonction strtod ().

#include <stdio.h>
#include <stdlib.h>

int main () { 
   char str[30] = "20.30300 This is test";
   char *ptr;
   double ret;

   ret = strtod(str, &ptr);
   printf("The number(double) is %lf\n", ret);
   printf("String part is |%s|", ptr);

   return(0);
}

Compilons et exécutons le programme ci-dessus qui produira le résultat suivant -

The number(double) is 20.303000
String part is | This is test|