Je veux imprimer des nombres à virgule flottante qui contiennent une précision variable.
J'ai plusieurs numéros tels que :
0.634564644534135499
0.0005462007746487777
0.028820785252590582
0.0018751147995774936
0.0075146048125540816
0.00046670455
Je veux obtenir les mêmes chiffres en sortie en utilisant print. Je sais que le nombre de décimales peut être fixé à l'aide de la fonction print("{:.19f}".format(0.0005462007746487777))
mais je ne veux pas que le nombre de décimales soit fixe. Puisque des nombres différents auront des décimales différentes
Code
#!/usr/bin/env python3
number_1=0.634564644534135499
number_2=0.0005462007746487777
number_3=0.028820785252590582
number_4=0.0018751147995774936
number_5=0.0075146048125540816
number_6=0.00046670455
print("Number 1: ",number_1)
print("Number 2: ",number_2)
print("Number 3: ",number_3)
print("Number 4: ",number_4)
print("Number 5: ",number_5)
print("Number 6: ",number_6)
Sortie réelle :
Number 1: 0.6345646445341355
Number 2: 0.0005462007746487777
Number 3: 0.028820785252590582
Number 4: 0.0018751147995774936
Number 5: 0.0075146048125540816
Number 6: 0.00046670455
Sortie requise :
Number 1: 0.634564644534135499
Number 2: 0.0005462007746487777
Number 3: 0.028820785252590582
Number 4: 0.0018751147995774936
Number 5: 0.0075146048125540816
Number 6: 0.00046670455
Ce que je ne comprends pas, c'est pourquoi Numéro 2 (qui a une plus grande précision) est imprimé correctement mais Numéro 1 perd sa précision ?