2009-09-11 22 views
27

Voglio concludere i miei valori decimali, come di seguito:arrotondamento decimali in Django

7,715.625 diventa 7.716

Come faccio a raggiungere questo obiettivo?

+1

Nota: il filtro modello "intcomma" utilizzato nella soluzione fa parte della django.contrib.humanize, vedere http://docs.djangoproject.com/en/dev/ref/contrib/humanize/ –

risposta

59

Se non si preoccupano le virgole, allora floatformat farà il lavoro:

{{ value|floatformat:"0" }} 

Se si preoccupano virgole, che si desidera: punta

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

(cappello a Stefano per indicarmi a intcomma!)

+0

floatformat mi darà una cifra decimale ... l'ho provato prima. Ho bisogno di avere il mio valore senza alcuna cifra decimale –

+0

@Stephen - Vedi la mia modifica. –

+0

sweet ... non sapeva del floatformat: "0". grazie –

7

Per utilizzare il filtro intcomma, è necessario aggiungere django.contrib.humanize all'impostazione INSTALLED_APPS nd {% load humanize %} in un modello.

0

Puoi farlo con il sotto di django, l'argomento "0" lo arrotonda per escludere le posizioni decimali, ma puoi cambiarlo.

number = 7715.625 
rounded_number = round(number,0) 
Problemi correlati