我希望将一些小数字转换为简单易读的输出。这是我的方法,但我想知道是否有更简单的方法。

x = 8.54768039530728989343156856E-58
y = str(x)
print "{0}.e{1}".format(y.split(".")[0], y.split("e")[1])
8.e-58

最佳答案

这让你非常接近,你需要 8.e-58 还是你只是想把它缩短成可读的东西?

>>> x = 8.54768039530728989343156856E-58
>>> print "{0:.1e}".format(x)
8.5e-58

替代:
>>> print "{0:.0e}".format(x)
9e-58

请注意,在 Python 2.7 或 3.1+ 上,您可以省略表示位置的第一个零,因此它类似于 "{:.1e}".format(x)

关于python - "rounding"python 中的负指数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10644753/

10-13 03:21