Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Conversão - Casting


advelasco

Pergunta

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 + 1

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

  • 0

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 por Kakao
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...