如何修改python决定以科学记数法打印的点?
E.g。我希望用科学记数法打印所有> 1e4
或< 1e-4
。
好:
In [11]: 5e20
Out[11]: 5e+20
为:
In [12]: 5e10
Out[12]: 50000000000.0
答案 0 :(得分:12)
在IPython中你可以使用
%precision %.4g
这将打印浮点值,其绝对值是&lt;科学记数法中的1e-4或&gt; = 1e4。
您可以在IPython API Docs中找到有关%precision
命令的更多信息。
对于字符串格式化选项,请查看Python Docs
答案 1 :(得分:0)
实际上它与IPython无关,因为它只是调用__str__
。遗憾的是,作为内置类型的float
是用C实现的,你不能用monkeypatch C类型。因此,您唯一的选择是在cpython中修改__str__
实现,或者修改IPython比仅调用__str__
更聪明。