2012-02-08 58 views
3

我不得不指数字符串转换,如6.5235375356299998e-07, 为浮点值,并显示我的计算像0.00000065235的结果...... 我怎样才能做到这一点在Python程序?显示6.5235375356299998e-07没有指数形式

+4

你试过'float(“6.5235375356299998e-07”)吗? – 2012-02-08 13:02:55

+0

>>> a = 6.52353753563E-7 >>> float(a) 6.5235375356299998e-07 – StefanS 2012-02-08 13:03:51

+0

是的,我试过了,但结果也是一个指数 – StefanS 2012-02-08 13:04:17

回答

8

6.5235375356299998e-07即使其中有e也是完全合法的浮动。你可以做整个计算它:

>>> 6.5235375356299998e-07 * 10000000 
6.5235375356300001 

>>> 6.5235375356299998e-07 + 10000000 
10000000.000000652 

在第二种情况下,许多数字会消失,因为Python的浮点精度。

如果您需要在不e字符串表示,试试这个:

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

,但它会成为一个字符串,你将无法做任何演算用它了。

+1

甚至'* 1e7' :) – 2012-02-08 13:07:19

+0

超级,这是一个很好的方式!非常感谢你。 – StefanS 2012-02-08 13:07:40