Descripción
La función de la biblioteca C double strtod(const char *str, char **endptr) convierte la cadena apuntada por el argumento stra un número de punto flotante (tipo double). Siendptr no es NULL, un puntero al carácter después del último carácter utilizado en la conversión se almacena en la ubicación referenciada por endptr.
Declaración
A continuación se muestra la declaración de la función strtod ().
double strtod(const char *str, char **endptr)
Parámetros
str - Este es el valor que se convertirá en una cadena.
endptr- Esta es la referencia a un objeto ya asignado de tipo char *, cuyo valor es establecido por la función al siguiente carácter en str después del valor numérico.
Valor devuelto
Esta función devuelve el número de punto flotante convertido como un valor doble; de lo contrario, se devuelve el valor cero (0.0).
Ejemplo
El siguiente ejemplo muestra el uso de la función 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);
}
Compilemos y ejecutemos el programa anterior que producirá el siguiente resultado:
The number(double) is 20.303000
String part is | This is test|