Descrição
A função da biblioteca C double strtod(const char *str, char **endptr) converte a string apontada pelo argumento strpara um número de ponto flutuante (digite double). E seendptr não for NULL, um ponteiro para o caractere após o último caractere usado na conversão é armazenado no local referenciado por endptr.
Declaração
A seguir está a declaração da função strtod ().
double strtod(const char *str, char **endptr)
Parâmetros
str - Este é o valor a ser convertido em uma string.
endptr- Esta é a referência a um objeto já alocado do tipo char *, cujo valor é definido pela função para o próximo caractere em str após o valor numérico.
Valor de retorno
Esta função retorna o número de ponto flutuante convertido como um valor duplo, caso contrário, o valor zero (0,0) é retornado.
Exemplo
O exemplo a seguir mostra o uso da função 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);
}
Vamos compilar e executar o programa acima que produzirá o seguinte resultado -
The number(double) is 20.303000
String part is | This is test|