Bonjour, j'ai un nombre avec 10 chiffres aprés la virgule, j'ai cru voir que le module decimal fait cela, pouvez vous me montrer comment il marche?
merci d'avance!
Version imprimable
Bonjour, j'ai un nombre avec 10 chiffres aprés la virgule, j'ai cru voir que le module decimal fait cela, pouvez vous me montrer comment il marche?
merci d'avance!
tu peut donner, un exemples
Code:
1
2
3
4
5
6
7
8
9 >>> 1/7 0 >>> 1/7. 0.14285714285714285 >>> int(1/7) 0 >>> int(1/7.) 0 >>>
Salut
Sinon tu peux te creer ta propre fonction
Je ne sais pas s'il existe des fonctions toutes faites, mais celle là est tellement facile à faire.Code:
1
2
3
4
5
6
7
8 def arrondi(mon_float,nb_apres_virgule): multiplicateur = power(10,nb_apres_virgule) nombre = mon_float*multiplicateur return nombre/mulitplicateur # exemple d'utilisation > arrondi(10.25666998,3) 10.256
Peut être dans le module math ?
Cordialement
See ++[/code]
Sortie:Code:
1
2
3
4
5
6
7
8
9
10 from decimal import Decimal, getcontext getcontext().prec = 5 #précision voulue nb1 = 1. nb2 = 6. n = Decimal(str(nb1)) / Decimal(str(nb2)) print n
Citation:
0.16667
Ce ne serait pas plus simple de faire :Citation:
Envoyé par oiffrig
A +Code:
1
2
3
4
5
6
7
8
9
10 from decimal import Decimal, getcontext getcontext().prec = 5 #précision voulue nb1 = 1. nb2 = 6. n = Decimal(str(nb1/nb2)) print n
See++
Parfois python gère mal les précisions de ses float, et si on utilise beaucoup de décimales, au moins avec Decimal on ne les perd pas et elles sont exactes