Commit b8fd9a44 authored by Adrian Holovaty's avatar Adrian Holovaty
Browse files

Fixed #1684 -- Added apnumber template filter in django.contrib.humanize. Thanks, ubernostrum

git-svn-id: http://code.djangoproject.com/svn/django/trunk@3077 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent fb537e17
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -48,3 +48,17 @@ def intword(value):
        return '%.1f trillion' % (value / 1000000000000.0)
    return value
register.filter(intword)

def apnumber(value):
    """
    For numbers 1-9, returns the number spelled out. Otherwise, returns the
    number. This follows Associated Press style.
    """
    try:
        value = int(value)
    except ValueError:
        return value
    if not 0 < value < 10:
        return value
    return ('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine')[value-1]
register.filter(apnumber)
+20 −6
Original line number Diff line number Diff line
@@ -53,16 +53,17 @@ To activate these filters, add ``'django.contrib.english'`` to your
``INSTALLED_APPS`` setting. Once you've done that, use ``{% load english %}``
in a template, and you'll have access to these filters:

ordinal
-------
apnumber
--------

Converts an integer to its ordinal as a string.
For numbers 1-9, returns the number spelled out. Otherwise, returns the
number. This follows Associated Press style.

Examples:

    * ``1`` becomes ``'1st'``.
    * ``2`` becomes ``'2nd'``.
    * ``3`` becomes ``'3rd'``.
    * ``1`` becomes ``'one'``.
    * ``2`` becomes ``'two'``.
    * ``10`` becomes ``10``.

You can pass in either an integer or a string representation of an integer.

@@ -96,6 +97,19 @@ Values up to 1000000000000000 (one quadrillion) are supported.

You can pass in either an integer or a string representation of an integer.

ordinal
-------

Converts an integer to its ordinal as a string.

Examples:

    * ``1`` becomes ``'1st'``.
    * ``2`` becomes ``'2nd'``.
    * ``3`` becomes ``'3rd'``.

You can pass in either an integer or a string representation of an integer.

flatpages
=========