2009-09-11 4 views
27

Я хочу, чтобы округлить свои десятичные значения, как показано ниже:округление десятичных знаков в Django

7,715.625 становится 7.716

Как этого добиться?

+1

Примечание: шаблон фильтра "intcomma", используемый в растворе является частью django.contrib.humanize см http://docs.djangoproject.com/en/dev/ref/contrib/humanize/ –

ответ

59

Если вы не заботитесь о запятых, то floatformat будет делать работу:

{{ value|floatformat:"0" }} 

Если вы заботитесь о запятых, вы хотите: наконечник

{{ value|floatformat:"0"|intcomma }} 

(Hat Стивену для указания на intcomma!)

+0

floatformat даст мне одно десятичное место ... Я пробовал это первым. Мне нужно иметь мою ценность без десятичной запятой – 2009-09-11 09:04:36

+0

@Stephen - см. Мое редактирование. –

+0

милый ... не знал о floatformat: «0». спасибо – 2009-09-11 09:07:19

7

Чтобы использовать фильтр intcomma, вы должны добавить django.contrib.humanize в ваш INSTALLED_APPS, установив a nd {% load humanize %} в шаблоне.

0

Вы можете сделать это с помощью нижеприведенного django, аргумент «0» округляет его, чтобы исключить десятичные разряды, но вы можете его изменить.

number = 7715.625 
rounded_number = round(number,0)