Para converter um valor númerico contido em uma string para o tipo float
ou double, utilizamos as funções strtod e strtof. A sintaxe
de ambas funções pode ser conferida a seguir:
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 informar NULL como argumento para as funções.