Bonjour à tous,
J'ai une variable nombre, très précise, puisque quand je fais
Elle me sort 17 chiffres après la virgule...Code:print variable
Mais j'aimerais l'arrondir à 5 chiffres après la virgule.
Comment puis-je faire ceci ?
Merci d'avance.
Version imprimable
Bonjour à tous,
J'ai une variable nombre, très précise, puisque quand je fais
Elle me sort 17 chiffres après la virgule...Code:print variable
Mais j'aimerais l'arrondir à 5 chiffres après la virgule.
Comment puis-je faire ceci ?
Merci d'avance.
Code:print round(variable, 5)
Il y a aussi le module decimal (Python 2.4) qui peut être utile, surtout si tu veux afficher plusieurs nombres à virgule sans avoir à réécrire à chaque fois round(...)
round ne fonctionne pas.
J'ai finalement fait comme ceci :
Code:
1
2
3
4 variable = variable*100000 variable = (int)(variable) variable_finale = ((float)(variable))/100000 print "variable : "+str(variable_finale)
Comment çà "
round ne fonctionne pas" ?Avec ton calcul, il n'y a pas d'arrondi, or c'est ce que tu voulais à la base.Code:
1
2
3
4 >>> variable = 12.123456789 >>> print round(variable, 5) 12.12346 >>>
Non, car ma variable finissait par
...00000006
avec round, il y avait toujours 17 chiffres après la virgule, mais ça finissait par
...99999995
:s
Assez étrange...
Effectivement, c'est pas au point cette fonction round ...Code:
1
2
3
4 >>> a=123.1234567890000006 >>> round(a,5) 123.12345999999999 >>>
Et avec Decimal tu as essayé?
C'est normal, cela vient de la représentation des nombres floatants:
http://docs.python.org/tut/node16.html ( ou le pdf en français accessible ici: http://python.developpez.com/cours/TutoVanRossum/ )
Avec le module Decimal, ca devrait mieux fonctionner (puisqu'il est fait pour)