Funzione di libreria C - strtod ()

Descrizione

La funzione di libreria C. double strtod(const char *str, char **endptr) converte la stringa puntata dall'argomento stra un numero in virgola mobile (digita double). Seendptr non è NULL, un puntatore al carattere dopo l'ultimo carattere utilizzato nella conversione viene memorizzato nella posizione a cui fa riferimento endptr.

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione strtod ().

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

Parametri

  • str - Questo è il valore da convertire in una stringa.

  • endptr- Questo è il riferimento a un oggetto di tipo char * già allocato, il cui valore è impostato dalla funzione al carattere successivo in str dopo il valore numerico.

Valore di ritorno

Questa funzione restituisce il numero in virgola mobile convertito come valore doppio, altrimenti viene restituito il valore zero (0,0).

Esempio

L'esempio seguente mostra l'utilizzo della funzione 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);
}

Compiliamo ed eseguiamo il programma sopra che produrrà il seguente risultato:

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