2010-06-16 16 views
0

de future division d'importation Pour effectuer une division dans laquelle j'ai besoin de percision. Cependant, il donne un nombre long, comme:définition de précision en python (2.6) division

1.876543820098765 

J'ai seulement besoin des deux premiers nombres après "." => 1.87 Comment puis-je faire ça?

+0

que faites-vous avec ce numéro? – SilentGhost

+0

Je l'enregistre dans un fichier – Hossein

+2

Et vous êtes sûr que vous ne voulez pas un numéro correctement arrondi? –

Répondre

4
"%0.2f" % yournumber 

Comme vous avez dit que vous ne voulez pas un nombre arrondi, vous voudrez peut-être essayer

def twoDigits(x): 
    return int(100*x)/100.0 
1
f = 1.876543820098765 
print f 
print round(f, 2) 

>> 1.8765438201 
>> 1.88 
2

Le nombre sont stockées sous forme binaire en virgule flottante. Si vous devez afficher seulement deux chiffres, vous pouvez transformer le flottant en une chaîne et contrôler le nombre de chiffres affichés en utilisant la syntaxe printf.

mystring = "%.2f" % (x/y) 

Cela limitera la chaîne à seulement 2 chiffres après le point décimal.

si x/y = 1,876543820098765
mystring = "1.88"

+0

Arrondi => pas ce qu'il veut –