Skip to content

Commit

Permalink
Fixed #687 -- Fixed bug in floatformat template filter and added unit…
Browse files Browse the repository at this point in the history
… tests. Thanks, Sune

git-svn-id: http://code.djangoproject.com/svn/django/trunk@1007 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information
adrianholovaty committed Oct 25, 2005
1 parent d4abd6f commit e0d2793
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 7 deletions.
14 changes: 7 additions & 7 deletions django/core/template/defaultfilters.py
Expand Up @@ -24,15 +24,15 @@ def fix_ampersands(value, _):

def floatformat(text, _):
"""
Displays a floating point number as 34.2 (with one decimal place) - but
Displays a floating point number as 34.2 (with one decimal place) -- but
only if there's a point to be displayed
"""
from math import modf
if not text:
return ''
if modf(float(text))[0] < 0.1:
return text
return "%.1f" % float(text)
f = float(text)
m = f - int(f)
if m:
return '%.1f' % f
else:
return '%d' % int(f)

def linenumbers(value, _):
"Displays text with line numbers"
Expand Down
20 changes: 20 additions & 0 deletions tests/othertests/defaultfilters.py
@@ -0,0 +1,20 @@
"""
>>> floatformat(7.7, None)
'7.7'
>>> floatformat(7.0, None)
'7'
>>> floatformat(0.7, None)
'0.7'
>>> floatformat(0.07, None)
'0.1'
>>> floatformat(0.007, None)
'0.0'
>>> floatformat(0.0, None)
'0'
"""

from django.core.template.defaultfilters import *

if __name__ == '__main__':
import doctest
doctest.testmod()

0 comments on commit e0d2793

Please sign in to comment.