Sobre o módulo decimal
O módulo decimal, como o nome sugere, pode ser usado para lidar com números com pontos decimais ou números de tipo flutuante. Os métodos incluídos neste módulo ajudam a arredondar números decimais, converter números e executar cálculos aritméticos. Ele também se concentra muito em precisão e precisão e cada número após um ponto decimal é considerado significativo. O módulo decimal considera um número como 1.40 como 1.40 e não como 1.4. O uso do módulo decimal pode ser melhor compreendido através de exemplos. Alguns deles são explicados abaixo.
Realizando cálculos matemáticos básicos usando o módulo decimal
Você pode chamar o construtor decimal para converter um número em um tipo decimal em python. O exemplo de código abaixo mostra a diferença entre a divisão matemática básica feita em números inteiros do tipo e números de tipo decimal.
de importação decimal decimalA primeira declaração importa a classe decimal do módulo decimal. Em seguida, duas variáveis “A” e “B” são criadas com alguns valores. A variável “C” armazena um valor produzido dividindo a variável A por B. O mesmo processo é então repetido convertendo os números em objetos do tipo decimal. Depois de executar a amostra de código acima, você deve obter a seguinte saída:
0.9090909090909091Como você pode ver na saída acima, o objeto do tipo float mostra números com menos precisão do que o objeto de tipo decimal, pois usa um método de aproximação muito mais agressivo do que o objeto de tipo decimal. Por padrão, um número de tipo decimal no Python aparece até 28 números. Você pode alterar esse valor de acordo com sua necessidade, chamando o método "getContext" disponível no módulo decimal.
de importação decimal decimalNa amostra de código acima, a função GetContext foi importada e a posição de precisão foi configurada para até 50 posições. O método getContext pode ser usado para visualizar o contexto atual no encadeamento e alterar alguns dos parâmetros de configuração padrão para o módulo decimal. Depois de executar a amostra de código acima, você deve obter a seguinte saída:
0.9090909090909091Você pode executar qualquer tipo de cálculo aritmético com objetos do tipo decimal que você possa executar com objetos do tipo float em Python. O grande número de números decimais à direita em objetos do tipo decimal pode trazer números precisos Pinpoint que são especialmente úteis em aplicações científicas financeiras, contábeis e de missão crítica e assim por diante.
Observe que você pode criar números de tipo decimal a partir de carros alegóricos, números inteiros e strings que contêm números chamando o construtor decimal principal.
Arredondando os números usando o módulo decimal
O módulo decimal vem com alguns modos de arredondamento predefinidos que você pode usar para arredondar números com pontos decimais. Esses modos são chamados redond_floor, redond_celing, redond_half_down, redond_half_up, round_up, redond_down, redond_half_even e redond_05up. De acordo com a documentação oficial do Python, eis o que cada um desses modos faz:
O exemplo de código abaixo mostra o comportamento desses modos.
importação decimalA amostra de código é bem direta. Uma precisão de 2 dígitos está definida para arredondar os números. O método de arredondamento é alterado definindo o valor do objeto "arredondamento" (parte do contexto principal). Depois de executar a amostra de código acima, você deve obter a seguinte saída onde cada linha corresponde ao respectivo modo de arredondamento:
3.9Arredondando usando o método quantize
Você também pode usar o método "quantizar" disponível no módulo decimal para arredondar os números. O processo é idêntico ao método explicado acima. No entanto, em vez de definir números de precisão separadamente, você pode fornecer um expoente como um argumento ao método quantize para arredondar um número a uma posição específica. Abaixo está uma amostra de código.
importação decimalUm expoente de '1.0 'foi fornecido ao método de quantização e um método de arredondamento foi fornecido como um argumento extra. Ele retornará um número em x.X formato. Depois de executar a amostra de código acima, você deve obter a seguinte saída:
3.9Comparando dois números decimais
Você pode comparar quaisquer dois objetos do tipo decimal usando o método "compare" disponível no módulo decimal. Os exemplos abaixo mostram seu uso.
de importação decimal decimalVocê pode chamar o método de comparação em um objeto de tipo decimal e fornecer o outro número como um argumento. Um valor de 0, 1 ou -1 será retornado, dependendo dos números comparados. Um valor 0 indica que ambos os números são iguais, um valor 1 indica que o primeiro número é maior que o segundo número, e um valor de -1 indica que o primeiro número é menor que o segundo número. Depois de executar a amostra de código acima, você deve obter a seguinte saída:
1Conclusão
Embora o módulo decimal seja mais comumente usado para controlar a precisão decimal e completar números após o ponto decimal, ele vem com outros métodos úteis que podem ser usados para manipular números decimais para produzir resultados precisos de cálculos aritméticos. O uso básico do módulo decimal foi abordado neste artigo e deve ser suficiente para a maioria das situações. Mas você sempre pode ler mais sobre os métodos avançados da documentação oficial do Python.