Para convertermos valor númericos contidos em uma string para float ou double,
utilizamos as funções strtod e/ou strtof. A sintaxe de ambas as funções pode ser conferida
abaixo:
Sintaxe
double strtod(const char* str, char** endptr);
float strtof(const char* str, char** endptr);
Onde
str: string contendo valor numérico para conversão
Retorno
str convertida para float ou double ou -1 caso não seja possível a conversão.
Exemplo 2
#include <stdio.h>
#include <stdlib.h>
void main ()
{
int i;
char string[]="10.02";
double valor = strtod(string,NULL);
float valor2 = strtof(string,NULL);
printf("Valor: %0.2f \n",valor);
printf("Valor: %0.2f \n",valor2);
}
Saída
Valor: 10.02
Valor: 10.02
Para a conversão básica, não é necessário a utilização do parâmetro endptr bastando passar NULL
como argumento para a função.