不使用指数表示法显示6.5235375356299998e-07

5

我需要将指数字符串转换为浮点数,例如6.5235375356299998e-07, 并将我的计算结果显示为0.00000065235...。如何在Python程序中实现这个功能?


4
你尝试过运行float("6.5235375356299998e-07")吗? - Sven Marnach
a = 6.52353753563E-7 float(a) 6.5235375356299998e-07
- StefanS
是的,我尝试过了,但结果是一个指数。 - StefanS
2
@StefanS:那么你所说的“浮点值”是什么意思? - kennytm
我认为他希望它显示为0.00000065235375356299998 - Tim Pietzcker
请参阅http://en.wikipedia.org/wiki/E_notation以获取解释。 - Sven Marnach
1个回答

12

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'

但是它将变成一个字符串,你将不能再进行任何计算。


太好了,这是一个很棒的方法!非常感谢。 - StefanS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接