advelasco Postado Novembro 10, 2008 Denunciar Share Postado Novembro 10, 2008 Tenho um dado que é uma string (2.307.162,23), estou tentando converter para um float, dá o seguinte erro:invalid literal for float() : (2.307.162,23) meu método é o seguinte:def media(conteudo): media = 0.0 indice = 0 while indice < len(conteudo) - 1: if conteudo[indice][6] != 0: media = media + ( float(conteudo[indice][6]) * float(conteudo[indice][7]) ) else: media = media + float(conteudo[indice][7]) indice = indice + 1a variavel "conteudo" é uma matriz de dadosconteudo[indice][6] = contem numeros de 0 a 5conteudo[indice][7] = contem o numero 2.307.162,23 , e outros na mesma sintaxe, e aqui onde da errobem, e isso, aguardo contato!!um abraço! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Kakao Postado Novembro 10, 2008 Denunciar Share Postado Novembro 10, 2008 (editado) Ele não entende separação de milhar e a separação decimal dever ser um ponto:media = media + float(conteudo[indice][7].replace('.', '').replace(',', '.'))Eu acho que só isso já resolve mas não testei. Editado Novembro 10, 2008 por Kakao Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 advelasco Postado Novembro 10, 2008 Autor Denunciar Share Postado Novembro 10, 2008 Ele não entende separação de milhar e a separação decimal dever ser um ponto:media = media + float(conteudo[indice][7].replace('.', '').replace(',', '.'))Eu acho que só isso já resolve mas não testei.Deu certo sim, funcionou, obrigado pela ajuda!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
advelasco
Tenho um dado que é uma string (2.307.162,23), estou tentando converter para um float, dá o seguinte erro:
invalid literal for float() : (2.307.162,23)
meu método é o seguinte:
a variavel "conteudo" é uma matriz de dados
conteudo[indice][6] = contem numeros de 0 a 5
conteudo[indice][7] = contem o numero 2.307.162,23 , e outros na mesma sintaxe, e aqui onde da erro
bem, e isso, aguardo contato!!
um abraço!
Link para o comentário
Compartilhar em outros sites
2 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.