From e4d53818c4a5558bad75221eb2a378768bed0dda Mon Sep 17 00:00:00 2001 From: jordan Date: Thu, 23 Dec 2010 01:30:21 +0000 Subject: [PATCH] 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 --- forum/templatetags/extra_filters.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) 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 -- 2.39.5