Обычно я использую {{ value|floatformat:-2 }}
для округления чисел и избавления от 0 (например: 2.00 = 2).
Теперь внутри тега WITH у меня странное поведение.
{% with a.vval_rcov|div:a.vval_100p|mul:100|floatformat:-2 as p1 %}
{% with d.vval_rcov|div:d.vval_100p|mul:100|floatformat:-2 as p2 %}
{% with p1|sub:p2 as p3 %}
<td {% if p3 < 0 %}class="bg-danger" {% elif p3 > 0 %}class="bg-success"{% endif %}>{{ p3 }}%</td>
{% endwith %}
{% endwith %}
{% endwith %}
Выход для P1 и P2 в порядке.
Пример: p1 = 51,93, p2 = 51,82
Но p3 не отображается что угодно!
Если я уберу |floatformat:-2
на p1 и p2 и добавлю его к p3
{% with a.vval_rcov|div:a.vval_100p|mul:100 as p1 %}
{% with d.vval_rcov|div:d.vval_100p|mul:100 as p2 %}
{% with p1|sub:p2|floatformat:-2 as p3 %}
<td {% if p3 < 0 %}class="bg-danger" {% elif p3 > 0 %}class="bg-success"{% endif %}>{{ p3 }}%</td>
{% endwith %}
{% endwith %}
{% endwith %}
, тогда p3 получит значение (0.10), но это нормально, но теперь {% if %}{% elif %}{% endif %}
странно больше не работают. А также в этом сценарии выходные данные p3 по-прежнему отображают завершающий ноль ...
Пример: p1 = 0,002, p2 = 0,003, p3 = -0,001, p3 отображают -0,00
Есть идеи почему? Я застрял с этим.