防止零差错

时间:2013-10-31 20:21:11

标签: python django

在我们正在开发的python / django应用程序中,当呈现html模板时,我得到除零错误。罪魁祸首是以下几行......

<div class="bar bar-success" style="width: {{ account.de_paid|mul:100|div:account.de_owing|floatformat:"0" }}%"><span class="center"><strong>{{ account.de_paid|mul:100|div:account.de_owing|floatformat:"0" }}%</strong></span></div>

account.de_paid和account.de_owing的值当然会被视图传递到页面中。问题是......因为account.de_owing经常为零,我怎么能防止零除问题呢?建议?

1 个答案:

答案 0 :(得分:0)

因为无论如何,除以零将返回NaN,并且您可能希望产生更有意义的消息,我将使用条件:

{% if account.de_owing == 0 %}
<div class="bar bar-success" style="width: 0%;"><span class="center"><strong>?</strong></span></div>
{% else %}
<div class="bar bar-success" style="width: {{ account.de_paid|mul:100|div:account.de_owing|floatformat:"0" }}%;"><span class="center"><strong>{{ account.de_paid|mul:100|div:account.de_owing|floatformat:"0" }}%</strong></span></div>
{% endif %}

(顺便说一句,在内联样式中width之后你缺少一个分号。)