Skip to main content

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

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”

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

telwoord-0.3.tar.gz (3.6 kB view details)

Uploaded Source

File details

Details for the file telwoord-0.3.tar.gz.

File metadata

  • Download URL: telwoord-0.3.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for telwoord-0.3.tar.gz
Algorithm Hash digest
SHA256 aa5227b563ae177df80376ee92195a017ebe36ef3d57b4fe18894efb1092789f
MD5 52fa8a26c0fc9c500431733d80f1f38e
BLAKE2b-256 389c6cf8a19b1a423e5f5e6af18877fe090a960213defac28c6f55216ec07ded

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page