English conversion from number to string
Project description
shortscale
https://pypi.org/project/shortscale/
Python module to convert integers into English words.
This is the Python port of the shortscale function, originally written in JavaScript and Rust, documented here. There is a also a Go version.
The short scale, has different words for each power of 1000.
This implementation expresses positive and negative numbers from zero to thousands, millions, billions, trillions, quadrillions etc, up to 10**33 - 1.
Function
def shortscale(num: int) -> str
Example
import shortscale
# ==> four hundred and twenty billion nine hundred and ninety nine thousand and fifteen
print(shortscale.shortscale(420_000_999_015))
After installing this module, the function can also be called from the commnd line e.g.
$ shortscale 420_000_999_015
420,000,999,015 => four hundred and twenty billion nine hundred and ninety nine thousand and fifteen
$ shortscale 0xffffffff
4,294,967,295 => four billion two hundred and ninety four million nine hundred and sixty seven thousand two hundred and ninety five
Benchmarks
$ pip install -e .
Python v3.11.2 $ python tests/bench_shortscale.py
50000 calls, 5000000 bytes, 1264 ns/call
100000 calls, 10000000 bytes, 1216 ns/call
200000 calls, 20000000 bytes, 1216 ns/call
Python v3.10.9 $ python tests/bench_shortscale.py
50000 calls, 5000000 bytes, 1811 ns/call
100000 calls, 10000000 bytes, 1808 ns/call
200000 calls, 20000000 bytes, 1809 ns/call
Test
$ pip install pytest
$ pip install -e .
$ pytest
============================= test session starts ==============================
platform darwin -- Python 3.10.9, pytest-7.2.1, pluggy-1.0.0
rootdir: /Users/jldec/pub/shortscale-py
collected 1 item
tests/test_shortscale.py . [100%]
============================== 1 passed in 0.00s ===============================
Build
This assumes that access to pypi.org has been configured
pip install build twine
python -m build
python -m twine upload dist/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
shortscale-1.3.2.tar.gz
(5.9 kB
view hashes)
Built Distribution
Close
Hashes for shortscale-1.3.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3edb31e1db501c2fad7077d074bad848e3fd4f6d9157acfe193bebe6a8c0bb9 |
|
MD5 | 418e32a4140a5ad78809960e9cb9a16e |
|
BLAKE2b-256 | 736a911556c670a0730039776ab1a40f20698f7baf0ebbecd2c32ec56fe53f73 |