This package expresses numbers in scientific notation, in formatted strings. Its intended use is to make computational results easier to read, especially when using a REPL like IPython. If using IPython, output is color-coded, to visually diferentiate the base and power.
Installation:
pip install scinot
Python 2 is unsupported, due to unicode handling.
341283875012.238
>> 341283875012.238
import scinot
scinot.start()
341283875012.238
>> 3.413 x 10 11
Call scinot.end() to return to remove parsing:
scinot.end()
341283875012.238
>> 341283875012.238
You can specify the number of significant figures to display with start, and how long the number must be to invoke scientific notation. It defaults to 4 significant figures, and order-of-magnitude 4:
scinot.start(sigfigs=2, thresh=3)
15
>> 15
152
>> 1.5 x 10 2
Call scinot.format() to return a string in scientific notation:
scinot.format(341283875012.238)
>> '3.413 x 10 11'
You can also specify the number of significant figures to display; it defaults to 3.
scinot.format(-.00000409348, 2)
>> '-4.1 x 10 -6'
Call scinot.sciprint() instead of scinot.format() to print the result directly, rather than returning a string. format and sciprint both take two arguments: The number, and optionally, the amount of significant figures.
If you're running Python in a Windows terminal and see squares instead of exponents, try a different font, like Source Code Pro. Scinot's start() behavior will not work if sympy.init_printing() is activated.
I've built this module with my own use-case in mind, and have likely overlooked features that would extend and improve functionality. If you have an idea, please contact me, or submit a pull request.
Note: Color, and the proper times symbol are used in the package, but are not displayed in this readme due to RST limitations.