2012-02-08 2 views
3

je dois convertir des chaînes exponentielles, comme 6.5235375356299998e-07, à une valeur flottante, et afficher le résultat de mon calcul comme ,00000065235 ... Comment puis-je faire cela dans un programme Python?Affichage 6.5235375356299998e-07 sans notation exponentielle

+4

Avez-vous essayé 'float (" 6.5235375356299998e-07 ")'? –

+0

>>> a = 6.52353753563E-7 >>> flotteur (a) 6.5235375356299998e-07 – StefanS

+0

oui, je l'ai essayé, mais le résultat est un exposant aussi – StefanS

Répondre

8

6.5235375356299998e-07 est un flottant parfaitement légal même s'il y a un e dedans. Vous pouvez faire tout le calcul avec elle:

>>> 6.5235375356299998e-07 * 10000000 
6.5235375356300001 

>>> 6.5235375356299998e-07 + 10000000 
10000000.000000652 

Dans le second cas, de nombreux chiffres vont disparaître à cause de la précision du flottant d'un python.

Si vous avez besoin de la représentation de chaîne sans e, essayez ceci:

>>> '{0:.20f}'.format(6.5235375356299998e-07) 
'0.00000065235375356300' 

mais il deviendra une chaîne et vous ne serez pas en mesure de faire tout calcul avec elle plus.

+1

ou même '* 1e7' :) –

+0

Super, c'est une belle façon! Merci beaucoup. – StefanS

Questions connexes