Função da biblioteca C - strtod ()

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|