Display numbers as scientific notation
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.cache/v/cache
.idea
scinot
.gitignore
.travis.yml
LICENSE.txt
README.rst
appveyor.yml
setup.cfg
setup.py

README.rst

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.