Skip to main content

w2n2w

Convert words to numbers and back again.
Compatible with Python 3.6 and up.

Why is this a thing?

There was one repo called word2number by Akshay Nagpal which converted words to numbers. There was another repo called num2word by MUKESHSIHAG which converted numbers to words.
To my knowledge there wasn't one that did both (also word2number appears un-maintained).
So I forked and re-wrote word2number and here we are.

What does it do?

Converts number words like "forty three" to integers/floats.

import w2n2w
print(w2n2w.word_to_num('forty three'))
> 43
print(w2n2w.word_to_num('twenty-two point nine one'))
> 22.91
print(w2n2w.word_to_num(('one hundred and twenty three million'
                         ' four hundred and fifty six thousand'
                         ' seven hundred and eighty nine')))
> 123456789
print(w2n2w.word_to_num('negative twelve'))
> -12
print(w2n2w.word_to_num('12 thousand and thirty 8'))
> 12038
print(w2n2w.word_to_num('seventy first'))
> 71

It can also convert numbers into words

import w2n2w
from pprint import pprint
print(w2n2w.num_to_word(1234))
> 'one thousand two hundred and thirty four'
# use pprint here to make long line more readable
pprint(w2n2w.num_to_word(123456789))
> ('one hundred and twenty three million four hundred and fifty six thousand '
>  'seven hundred and eighty nine')
print(w2n2w.num_to_word(1.52))
> 'one point five two'
print(w2n2w.num_to_word(-0.999))
> 'negative zero point nine nine nine'
print(w2n2w.num_to_word(0))
> 'zero'

In theory this library can handle any real number (positive or negative) but for numbers greater than or equal to one undecillion (10^36) you will start to face issues, as these numbers are represented in terms of the highest order of magnitude this library knows.
So 10^36 is represented as 10^33 * 1000 or 'one thousand decillion'.

Things to bear in mind

Some examples may produce unexpected behaviour.

import w2n2w
print(w2n2w.word_to_num('one two three'))
> 6
print(w2n2w.word_to_num('thousandth'), w2n2w.word_to_num('one thousandth'))
> 1000, 0.001
print(w2n2w.word_to_num('third'), w2n2w.word_to_num('one third'))
> 3, 0.3333333333333
print(w2n2w.word_to_num('forty seventh'), w2n2w.word_to_num('forty sevenths'))
> 47, 5.7142857142857135

Release files for w2n2w 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for w2n2w 0.3.1
File Size Uploaded
w2n2w-0.3.1.tar.gz 10.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for w2n2w 0.3.1
File Interpreter ABI Platform
w2n2w-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size:20.7 kB

Release files / w2n2w-0.3.1.tar.gz

Download URL w2n2w-0.3.1.tar.gz
Size 10.7 kB
Tags Source
SHA-256 checksum
How to use checksums
9b63fea69cb9f51d6a59b35e8eb06b75923ee7354cdd6f5264c13c35d934ff4b
BLAKE2b-256 checksum
How to use checksums
eb36051e9d38aae71dc4ae36ca6bfa05a38820192ed994dc14565a191223bfb0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.4

Release files / w2n2w-0.3.1-py3-none-any.whl

Download URL w2n2w-0.3.1-py3-none-any.whl
Size 9.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7ca11956d0797ccd4203531680e59f001028e7eb8ad5a3f6d538a6ed7a8e0644
BLAKE2b-256 checksum
How to use checksums
6f9f2b66a111df998c7c5e1ea071531f251958784d0fce5a54d48ce24b4a40fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.4

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page