2009-09-11 14 views
27

Ich möchte meine Dezimalwerte wie unten abrunden:Abrunden Dezimalstellen in Django

7,715.625 wird 7716

Wie kann ich das erreichen?

+1

Hinweis: der Template Filter "intcomma" in der Lösung verwendete Teil django.contrib.humanize ist, siehe http://docs.djangoproject.com/en/dev/ref/contrib/humanize/ –

Antwort

59

Wenn Sie nicht über die Kommas egal, dann floatformat wird die Arbeit machen:

{{ value|floatformat:"0" }} 

Wenn Sie Kommas egal, möchten Sie:

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

(Hutspitze zu Stephen um mich auf intcomma zu zeigen!)

+0

floatformat wird mir eine Dezimalstelle geben ... Ich habe das zuerst versucht. Ich brauche meinen Wert ohne Dezimalstelle –

+0

@Stephen - Siehe meine Bearbeitung. –

+0

süß ... wusste nicht über das floatformat: "0". danke –

7

Um intcomma Filter zu verwenden, sollten Sie django.contrib.humanize zu Ihrer INSTALLED_APPS Einstellung hinzufügen nd {% load humanize %} in einer Vorlage.

0

Sie können es mit dem unten auf Django tun, das Argument "0" runden es, um Dezimalstellen auszuschließen, aber Sie können es ändern.

number = 7715.625 
rounded_number = round(number,0)