#22798: pluralize filter should pluralize float/Decimal values between 1 and 2
---------------------------------+--------------------
     Reporter:  Odd_Bloke        |      Owner:  nobody
         Type:  Bug              |     Status:  new
    Component:  Template system  |    Version:  1.6
     Severity:  Normal           |   Keywords:
 Triage Stage:  Unreviewed       |  Has patch:  0
Easy pickings:  0                |      UI/UX:  0
---------------------------------+--------------------
 The pluralize filter works as expected for floats/Decimals outside of the
 range 1-2:

 {{{
 >>> pluralize(0.9)
 u's'
 >>> pluralize(2.1)
 u's'
 }}}

 However, when applied to a decimal number between 1 and 2, it
 (incorrectly) does not pluralize:

 {{{
 >>> pluralize(1.2)
 u''
 }}}

 Not only is this incorrect from an English standpoint, it also contradicts
 pluralize's docstring: "Returns a plural suffix if the value is not 1."

 The problem appears to be at
 
[https://github.com/django/django/blob/master/django/template/defaultfilters.py#L937
 line 937] where the given value is converted directly to an integer; this
 chops the decimal part of the number off, making it appear to be 1.

 The specific use case for this is:

 {{{
 {{ widget_count|floatformat:"-2" }} widget{{ widget_count|pluralize }}
 }}}

 This will produce "0.5 widgets", "1 widget", and "2.1 widgets" correctly,
 but "1.2 widget" incorrectly.


 (This ticket is a descendant of #16723, but that ticket was about a
 broader issue that encompassed this, and so ended up being closed as
 invalid.)

-- 
Ticket URL: <https://code.djangoproject.com/ticket/22798>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/052.aaa25831ce4ef90100329d165ec410ce%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to