Skip to content
Browse files

Fixed #687 -- Fixed bug in floatformat template filter and added unit…

… tests. Thanks, Sune

git-svn-id: http://code.djangoproject.com/svn/django/trunk@1007 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
1 parent d4abd6f commit e0d2793b7b6363196599d67316c1dac8c6c725e7 @adrianholovaty adrianholovaty committed Oct 25, 2005
Showing with 27 additions and 7 deletions.
  1. +7 −7 django/core/template/defaultfilters.py
  2. +20 −0 tests/othertests/defaultfilters.py
View
14 django/core/template/defaultfilters.py
@@ -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"
View
20 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.
Something went wrong with that request. Please try again.