2010-04-03 5 views
-1

C'est 123.98699999999999!Qu'est-ce que float ('123.987') dans Python?

Pourquoi est-ce?

+7

Incroyable à quelle fréquence cette question se pose. Comment représenteriez-vous le nombre rationnel 123987/1000? –

+5

me semble correct –

+3

GregS: Fraction (123987, 1000) ...? – Ken

Répondre

5

La jolie adresse bien Python FAQ et tutorial cette question, je pense. Plus généralement, les deux sont d'excellentes ressources, valent bien votre temps à parcourir si vous avez un intérêt dans Python! -)

+0

qui était très utile merci! – RadiantHex

3

Ceci a changé dans/depuis Python 3.1.

Voir aussi: issue 1580


À votre (déjà supprimé) l'ajout: Utilisez le decimal package.

+0

La conversion de float en chaîne a changé, mais pas la conversion de chaîne à float. – dan04

+0

@ dan04: Que voulez-vous dire? 'float ('0.2') == float (0.2)' – Debilski

+0

'repr (0.2)' était auparavant '' 0.20000000000000001 ''. Maintenant, c'est juste "0.2". – dan04