From: jordan Date: Thu, 23 Dec 2010 01:30:21 +0000 (+0000) Subject: Fixing the decorate_int filter in way it can work with string, round properly and... X-Git-Tag: live~507 X-Git-Url: https://git.openstreetmap.org./osqa.git/commitdiff_plain/e4d53818c4a5558bad75221eb2a378768bed0dda Fixing the decorate_int filter in way it can work with string, round properly and show decimal place for numbers between 10.0-99.0k git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@627 0cfe37f9-358a-4d5e-be75-b63607b5c754 --- diff --git a/forum/templatetags/extra_filters.py b/forum/templatetags/extra_filters.py index b9fb4b3..e13923f 100644 --- a/forum/templatetags/extra_filters.py +++ b/forum/templatetags/extra_filters.py @@ -19,12 +19,11 @@ def can_edit_post(user, post): @register.filter def decorated_int(number, cls="thousand"): try: + number = int(number) # allow strings or numbers passed in if number > 999: - if number > 9999: - s = str(number)[:-3] - else: - s = str(number) - s = "%s.%s" % (s[0], s[1]) + thousands = float(number) / 1000.0 + format = "%.1f" if number < 99500 else "%.0f" + s = format % thousands return mark_safe("%sk" % (cls, s)) return number