Converting integers to english representation

Discussion in 'Python' started by Guest, Aug 31, 2004.

  1. Guest

    Guest Guest

    Hello All,

    I'm developing a system to parse and enumerate addresses. The
    current obstacle is numbered streets. Does anybody know of a
    module already written to convert integers to their english

    1ST -> FIRST
    SECOND -> 2ND

    or even something like this:
    1 -> ONE
    TWO -> 2

    There's something similar in the dive into python book with
    roman numerals.

    Anything towards that direction would greatly help and save me
    a lot of time then from starting from scratch.

    Thank you in advance.
    Guest, Aug 31, 2004
    1. Advertisements

  2. Guest

    Peter Hansen Guest

    The word you are missing is probably 'ordinal', as opposed
    to cardinal (one, two, three) numbers. Google can likely
    help you with a search for "ordinal number convert' or

    Peter Hansen, Aug 31, 2004
    1. Advertisements

  3. Guest

    Martin Maney Guest

    The suggestion about searching for "ordinal" is good, but runs into all
    those unicode false hits. :-(

    It isn't quite the same as either of your examples, and it goes only
    one way, but this is what I'm using in one app where I want ordinalized
    day numbers:

    def _ord_sfx(decade):
    if decade != 1:
    return ('th', 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th')
    return ('th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th')

    def ordinalize(n):
    decade = (n % 100) / 10
    unit = n % 10
    return '%d%s' % (n, _ord_sfx(decade)[unit])

    If nature has made any one thing less susceptible than all others of
    exclusive property, it is the action of the thinking power called an
    idea, which an individual may exclusively possess as long as he keeps
    it to himself; but the moment it is divulged, it forces itself into
    the possession of every one, and the receiver cannot dispossess
    himself of it. -- Thomas Jefferson
    Martin Maney, Sep 8, 2004
  4. .
    Those who want to pursue this deeper will probably read <URL: >
    and <URL: >.
    Cameron Laird, Sep 9, 2004
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.