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.