2017-05-05 3 views
-1

Ich habe eine harte Zeit zu versuchen, einige einfache Mathe innerhalb meiner Django-Vorlage mit mathfilters zu tun, teile ich die Zahl von 12, und dann multiplizieren Sie es mit 1,18, dafür verwende ich die folgende Formel:Eine Zahl auf die nächste 1 in Django-Vorlage aufzurunden

{{coffee.orderedQuantity|div:12000|mul:1.18}} 

die gut arbeitet, aber es gibt eine Dezimalzahl, die Ich mag werden würde alway abgerundet, so dass, wenn die Dezimalzahl 1,2342 ist es sollte als 2 in meiner Vorlage zeigen.

Jede Hilfe oder Anregungen wäre willkommen :)

+0

Die Antwort war sehr hilfreich, danke! :) – padawanMiyagi

Antwort

1

Sie es tun können, mit |floatformat

1

Sie können so etwas tun.

{% with rest = coffee.orderedQuantity|div:12000|mul:1.18 %} 
{% if rest == rest|floatformat:"0" %} 
    {{rest}} 
{% else %} 
    {% rest = rest|add:1 %} 
    {{rest}} 
{% endif %} 
1

Es gibt zwei verschiedene Möglichkeiten, das gewünschte Ergebnis zu erzielen.

Verwenden Sie zuerst floatformat, So:

{{ coffee.orderedQuantity|div:12000|mul:1.18|floatformat:"0" }} 

Oder können Sie eine custom template tag machen. Das benutzerdefinierte Vorlagen-Tag kann wiederholt für weitere Zwecke und die am meisten empfohlene Methode verwendet werden.

Verwandte Themen