A small package for handy conversion of german numerals (also ordinal / signed) written as words to numbers.
Project description
zahlwort2num (v.0.2.1)
:de: :de: :de: A small but useful (due shortage of/low quality support for lang_DE) package for handy conversion of german numerals (incl. ordinal number) written as string to the from numbers.
To put it differently: It allows reverse text normalization for numbers.
This package might be a good complementary lib to https://github.com/savoirfairelinux/num2words
:crying_cat_face: Currently is doesn't support swiss variant. TBD :switzerland:
PyPi direct page of project
https://pypi.org/project/zahlwort2num/
Installation
pip2 install zahlwort2num
Usage
Definition:
import zahlwort2num as w2n
Example:
w2n.convert('Zweihundertfünfundzwanzig') # => 225 w2n.convert('neunte') # => '9.' w2n.convert('minus siebenhundert Millionen achtundsiebzig') # => -700000078
or even stuff like:
w2n.convert('sechshundertdreiundfünfzigtausendfünfhunderteinundzwanzig') # => 653521
:see_no_evil:
Command line:
- (Obviously it is better to use a parameter enclosed with apostrophs due to possible spaces)
bin/zahlwort2num-convert 'eine Million siebenhunderteinundzwanzig'
WIKI
TBD
Already implemented features :sunglasses:
- Theoretically it works for any numbers from range 0 upto 999 * 10^27 [big numbers]
- Command-line mode (see above)
- Supported with ordinal numerals (incl. inflections [sufficies like
'ste', 'ten'
etc. ])
In this case it returns coerced String type value e.g '15.' instead of Integer :point_up: - Relative mild rules in terms of trailing whitespaces, lower/upper-case (unification).
- Handling of signed numerals (also ordinal ones) e.g
'minus zehn'
TODO / Known issues
- [x]
Make POC, functional for all common cases - [x]
Ordinal number support - [x]
Take care for exceptions / trailing whitespaces etc. - [x]
Make structure + publish as PyPI package - [x] Command line support :computer:
- [ ] More comprehensible tests
- [ ] Swiss variant
- [ ] More fault tolerant (ß -> ss) etc
- [ ] Larger scale than 10^60
- [ ] Ordinal with very large numbers (without addons) e.g
Millionste
- [ ] Few benchmark improvements (e.g tail recursion etc)
- [ ] Better error handling + validation for idiotical cases (e.g
minus null Miliarde
) - [ ] Simplify/refactor POC code, add better documentation
- [ ] Support for fractions?
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size zahlwort2num-0.2.1-py3-none-any.whl (7.6 kB) | File type Wheel | Python version py3 | Upload date | Hashes View |
Filename, size zahlwort2num-0.2.1.tar.gz (5.6 kB) | File type Source | Python version None | Upload date | Hashes View |
Hashes for zahlwort2num-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1dbfb52da2b13d9f30dd5350131ec6ee9622906ece8e8be9fa2eda73b6daac52 |
|
MD5 | a8f3ad5cb31117d3ec27dfa673bb37b2 |
|
BLAKE2-256 | 5af4fa7425ccbeb0755504e13e6984007204ed2e224a358d79e5197c5bbfecaa |