I am working on a project in Django, i have created a template_tags.py files in my project. How do i format numbers from 1000 to 1k, 2000 to 2k, 1000000 to 1m and so on. But i am having an issue with my code, instead of getting 1000 to 1k, i got 1000 to 1.0k. What am i missing in my code?
from django import template
register = template.Library()
@register.filter
def shrink_num(value):
"""
Shrinks number rounding
123456 > 123,5K
123579 > 123,6K
1234567 > 1,2M
"""
value = str(value)
if value.isdigit():
value_int = int(value)
if value_int > 1000000:
value = "%.1f%s" % (value_int/1000000.00, 'M')
else:
if value_int > 1000:
value = "%.1f%s" % (value_int/1000.0, 'k')
return value