Display numbers in scientific notation.


Keywords
scientific, notation, exponential, REPL
License
MIT
Install
pip install scinot==0.0.4

Documentation

SciNot

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.

Use: Run scinot.start() to format REPL output and printing as scientific notation.

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.