11

如何修改 python 决定以科学计数法打印的点?

例如,我想要所有内容> 1e4< 1e-4以科学计数法打印。

好的:

In [11]: 5e20
Out[11]: 5e+20

坏的:

In [12]: 5e10
Out[12]: 50000000000.0
4

2 回答 2

14

在 IPython 中,您可以使用

%precision %.4g

这将打印以科学计数法表示绝对值 < 1e-4 或 >= 1e4 的浮点值。

您可以在IPython API Docs中找到有关该%precision命令的更多信息。对于字符串格式化选项,请查看Python Docs

于 2013-05-31T23:53:12.150 回答
0

实际上它与 IPython 无关,因为它只是调用__str__. 可悲的是,float作为内置类型,它是用 C 实现的,您不能对 C 类型进行猴子补丁。因此,您唯一的选择是修改__str__cpython 中的实现或修补 IPython 使其比仅调用__str__.

于 2013-05-31T23:18:00.403 回答