Поскольку существует слишком много других вопросов, упомянутых этим, я хотел бы добавить еще один ответ тоже.
Что касается меня, то ответ, предложенный @alecxe, является излишним. Читаемость отстой, и ваш проект начинает зависеть от дополнительной библиотеки. Но вам нужно всего лишь показать две цифры на странице.
Решение с созданием собственного шаблона кажется лучше. Он выглядит проще, использует меньше операций, не имеет зависимостей.
@register.filter
def floatfract(value):
sf = "%.2f" % value
return sf.split('.')[1]
и использовать его в шаблонах:
{{ object.price|floatfract }}
Вот так. Я использую его.
Чтобы сделать ответ полностью, я могу расширить его с помощью случая, когда вы хотели бы иметь гибкую длину фракции. Например, от 2 до 5 цифр. выглядит намного хуже:
@register.filter
def floatfract(value, length=2):
sf = "%.{length}f".format(length=length) % value
return sf.split('.')[1]
Использование:
{{ object.price|floatfract:5 }}
Вы всегда можете написать свой собственный ... – rnevius