如何修改 python 决定以科学计数法打印的点?
例如,我想要所有内容> 1e4
或< 1e-4
以科学计数法打印。
好的:
In [11]: 5e20
Out[11]: 5e+20
坏的:
In [12]: 5e10
Out[12]: 50000000000.0
如何修改 python 决定以科学计数法打印的点?
例如,我想要所有内容> 1e4
或< 1e-4
以科学计数法打印。
好的:
In [11]: 5e20
Out[11]: 5e+20
坏的:
In [12]: 5e10
Out[12]: 50000000000.0
在 IPython 中,您可以使用
%precision %.4g
这将打印以科学计数法表示绝对值 < 1e-4 或 >= 1e4 的浮点值。
您可以在IPython API Docs中找到有关该%precision
命令的更多信息。对于字符串格式化选项,请查看Python Docs
实际上它与 IPython 无关,因为它只是调用__str__
. 可悲的是,float
作为内置类型,它是用 C 实现的,您不能对 C 类型进行猴子补丁。因此,您唯一的选择是修改__str__
cpython 中的实现或修补 IPython 使其比仅调用__str__
.