Eu estava procurando uma função para converter string em float, então soube que existe uma que faz isso, a ataf(). Só que eu não consegui usar aqui, sabe-se láh por que, o meu compilador não achou mesmo declarando a biblioteca certa. Então eu resolvi fazer ela pra mim usar, já que eu fiz eu vou postar aqui e talvez possa ser útil pra quem tenha enfrentado mesmo problema que eu , ou para até questão de aprendizadomesmo....
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int retorna_numero(char letra)
{
int numero;
if( letra == '0' ) numero = 0;
if( letra == '1' ) numero = 1;
if( letra == '2' ) numero = 2;
if( letra == '3' ) numero = 3;
if( letra == '4' ) numero = 4;
if( letra == '5' ) numero = 5;
if( letra == '6' ) numero = 6;
if( letra == '7' ) numero = 7;
if( letra == '8' ) numero = 8;
if( letra == '9' ) numero = 9;
if( letra == '.') numero = 27;
return numero;
}
float ataf_Renan(char *astring)
{
int i, tamanho, incremento, pos_ponto;
char numero_char;
float numero_float, retorno;
tamanho = strlen(astring);
retorno = 0;
incremento = 0;
for(i=0; i<tamanho; i++) if( retorna_numero(astring[i]) == 27 ) break;
pos_ponto = i;
if( pos_ponto == tamanho ) pos_ponto = 0;
for( i=0; i<tamanho; i++ )
{
numero_char = astring[i];
numero_float = retorna_numero(numero_char);
if( numero_float == 27 ) incremento = -1;
if( incremento == 0 )
{
if( i == pos_ponto-1 ) retorno += numero_float;
else retorno += numero_float*pow(10,pos_ponto-1-i);
}
else if(numero_float != 27)
{
retorno += numero_float*pow(10,incremento);
incremento--;
}
}
return retorno;
}
main()
{
char *nada;
nada = (char*)malloc(10*sizeof(char));
nada = "0.05879";
printf("\n\n%.5f\n\n",ataf_Renan(nada));
system("pause");
}
Pergunta
renan_doidera
Eu estava procurando uma função para converter string em float, então soube que existe uma que faz isso, a ataf(). Só que eu não consegui usar aqui, sabe-se láh por que, o meu compilador não achou mesmo declarando a biblioteca certa. Então eu resolvi fazer ela pra mim usar, já que eu fiz eu vou postar aqui e talvez possa ser útil pra quem tenha enfrentado mesmo problema que eu , ou para até questão de aprendizadomesmo....
É isso,
Abraços.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.