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

Aumentar a precisao em calculos no python


engwsp

Pergunta

Fiz um algoritmo para verificar se a raiz é exata ou não

            RaizInt    = int(math.sqrt(qd))
            RaizFloat =float(math.sqrt(qd))
            if (RaizInt == RaizFloat):

Entretanto meu algoritmo está com erro.

O pc, está considerando  491917881,999999988 = =491917882.000000

√241983202631365912 = 491917881,999999988

Como eu faço para aumentar a quantidade de casas decimais?

 

Desde já agradeço

 

 

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Experimente o modulo decimal

from decimal import Decimal

n = Decimal(241983202631365912)
print(n.sqrt()) #'.sqrt' é um metodo do objeto Decimal, não precisa 'import math'
491917881.9999999878028422638

n.sqrt() == Decimal('491917882') 
False

n.sqrt() == Decimal('491917881.9999999878028422638') #Detalhe na conversão direta de float para Decimal, deve usar string
True

 

Editado por ArteEN
Complementar resposta
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,1k
    • Posts
      651,9k
×
×
  • Criar Novo...