J'ai un programme qui génère le tableau dont j'ai besoin. Lorsque la différence entre les nombres était assez grande (environ 5 points), tout était correct. J'ai donc décidé d'utiliser la bibliothèque Decimal. Mais quand j'ai ajouté ce module au programme, tout s'est cassé (les chiffres étaient les mêmes). Voici ma sortie (quelques lignes de départ) avec Decimal
0.00402787895809813677877597726251 0.00402787895809813677877597726251
0.00402787895809813677877597726251 0.00402787895809813677877597726251
0.00402787895809813677877597726251 0.00402787895809813677877597726251
Comme vous pouvez le constater, ils sont identiques, mais les numéros de base sont différents. Comment corriger ce bug ?
from decimal import *
getcontext().prec = 30
ls = [1,4,2,1,1,1,2,1,1,1,1,1,1,1,1,2]
#N = Decimal(22)
l = Decimal(0.0040278789580981364238)
r = Decimal(0.0040278789580981370940)
one = Decimal(r-l)/Decimal(22)
print(len(ls))
for elem in ls:
print(Decimal(l),'\t',Decimal(l)+Decimal(one)*Decimal(elem))
l+=Decimal(one)*Decimal(elem)