我正在 Django 中开发一个项目,我在我的项目中创建了一个 template_tags.py 文件。我如何格式化从 1000 到 1k、2000 到 2k、1000000 到 1m 等等的数字。但是我的代码有问题,我得到的不是 1000 到 1k,而是 1000 到 1.0k。我的代码中缺少什么?
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
繁花不似锦
GCT1015
相关分类