fork download
  1. from decimal import *
  2.  
  3. flt = 0.0 #Declara um acumulador de ponto flutuante
  4. dcm = Decimal('0') #Declara um acumulador de ponto fixo flutuante
  5.  
  6. #Simula 100.000 operações financeiras em cada acumulador no valr de R$ 0,70 ou seja 100.000 * 0,70 == R$ 70000,00
  7. for _ in range(100_000):
  8. flt += 0.7
  9. dcm += Decimal('0.7')
  10.  
  11. #Imprime o resultado dos acumuladores mostrando as perdas devido a imprecisão intrínseca em números de ponto flutuante
  12. print(f'Decimal de ponto flutuante: {flt}\nDecimal de ponto fixo: {dcm}')
  13.  
Success #stdin #stdout 0.1s 10396KB
stdin
Standard input is empty
stdout
Decimal de ponto flutuante: 69999.99999986925
Decimal de ponto fixo: 70000.0