Convert numbers into their Dutch written form
Project description
Telwoord
A Python library to convert numbers into their Dutch (nl) written form.
Links:
Installation
To install from PyPI:
$ pip install telwoord
There are no dependencies; a Python 2 or Python 3 interpreter is all you need.
Usage
Use telwoord.cardinal() to convert an integer to its string representation.
By default, a friendly representation is used, based on some common style recommendations about when to spell out numbers, and when to leave them as is:
>>> from telwoord import cardinal
>>> numbers = (0, 1, 2, 3, 19, 20, 30, 31, 100, 200, 215, 300, 14999, 15000, 1000000, 12345678)
>>> for n in numbers: print("{0: 10d} {1}".format(n, cardinal(n)))
0 nul
1 een
2 twee
3 drie
19 negentien
20 twintig
30 dertig
31 31
100 honderd
200 tweehonderd
215 215
300 driehonderd
14999 14999
15000 15 duizend
1000000 1 miljoen
12345678 12345678
To forcibly spell out all the numbers, pass friendly=False:
>>> for n in numbers: print("{0: 10d} {1}".format(n, cardinal(n, friendly=False)))
0 nul
1 een
2 twee
3 drie
19 negentien
20 twintig
30 dertig
31 eenendertig
100 honderd
200 tweehonderd
215 tweehonderdvijftien
300 driehonderd
14999 veertienduizend negenhonderdnegenennegentig
15000 vijftienduizend
1000000 een miljoen
12345678 twaalf miljoen driehonderdvijfenveertigduizend zeshonderdachtenzeventig
In addition to cardinal numbers, you can also convert a number into its ordinal string representation using telwoord.ordinal():
>>> from telwoord import ordinal
>>> for n in numbers: print("{0: 10d} {1}".format(n, ordinal(n)))
0 nulde
1 eerste
2 tweede
3 derde
19 negentiende
20 twintigste
30 dertigste
31 31e
100 honderdste
200 tweehonderdste
215 215e
300 driehonderdste
14999 14999e
15000 15 duizendste
1000000 1 miljoenste
12345678 12345678e
The telwoord.ordinal() function also takes a friendly argument that works the same way as for telwoord.cardinal().
Spelling rules and style recommendations
Taalunie, Aaneenschrijven van telwoorden
Genootschap Onze Taal, Getallen in letters of cijfers
Genootschap Onze Taal, Getallen uitschrijven
Version history
0.3
Implemented support for ordinal numbers
0.2
Improved support for friendly representation of negative numbers
0.1
Initial release
Support for spelling out numbers, optionally in a friendly way
Development
To install from a source tree:
$ pip install -e .
To run the tests you will need a few extra packages:
$ pip install -r test-requirements.txt
To run the tests:
$ py.test
To test against multiple Python versions:
$ tox
Possible future work:
Fractions, e.g. “tweederde”, “twaalf tachtigste”