python - "rounding"python中的负指数

标签 python formatting floating-point

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

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/

相关文章:

c++ - 如何限制计算的浮点值的小数位数?

Python 的 `str.format()` 、填充字符和 ANSI 颜色

python - 当我运行我的代码时,它返回 '[]' 。我怎样才能解决这个问题?

powershell - 如何将字典列表分解为格式表中的标题

visual-studio - 如何在 Visual Studio 中关闭 App.config 文件自动排列格式

c++ - 将字符打印为整数

c++ - 如何提高代码的精度

python - 如何显示嵌套列表中的所有一个值?

python - 如何获取网页中名称动态生成的元素

c - C中的 double 字