2015-01-05 3 views
0

У меня есть поле с плавающей точкой и Im пытается показать только цифры перед запятойусечение десятичных числа floatfield всегда округление

так 8.70 будет отображаться в качестве 8. Если значение 9.00, оно должно отображаться как 9

Когда я пытаюсь использовать |floatformat:"0"8.70 будет отображаться как 9

Как я могу убедиться, что он никогда не округляет?

+0

вы должны создать пользовательский фильтр .. –

ответ

0

Если вам нужно отобразить только неотъемлемую часть, используйте {{ value|stringformat:"d" }}. В противном случае создайте настраиваемый фильтр.

0

Я не думаю, что есть встроенный тег шаблона для того, что вы ищете.

Как я вижу, у вас есть два варианта.

Если значение не будет использоваться в любом другом месте на вашей странице, вы можете просто изменить путь он прошел по шаблону путем изменения контекста Dict

return render(request, 'templates/my_template.html', {'my_value': math.floor(my_value)}) 

В противном случае, вы можете создать свой собственный шаблон тег.

@register.filter 
def floor_floats(value): 
    return math.floor(value) 

И затем использовать его на шаблоне:

{{ value|floor_floats }} 

Надеется, что это помогает

Смежные вопросы