How can I modify the point at which python decides to print in scientific notation?
E.g. I\'d like everything > 1e4
or < 1e-4
to be p
Actually it has nothing to do with IPython as it simply calls __str__
. Sadly, float
, being a built-in type, is implemented in C and you can't monkeypatch C types. So your only options are modifying __str__
implementation in cpython or patching IPython to be smarter than just calling __str__
.
In IPython you can use
%precision %.4g
this will print floating point values who's absolute value is < 1e-4 or >= 1e4 in scientific notation.
You can find more information about the %precision
command in the IPython API Docs.
For string formatting options have a look at the Python Docs