2013-10-31 57 views
0

在我們正在開發的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經常爲零,我怎麼能通過零問題來防止這個分歧?建議嗎?

+2

在將它們輸入到等式中之前,檢查值是否爲0。如果不是零,請做數學。 – Mike

回答

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)。

+0

謝謝,做了一個桃子!繼承了這個項目,仍然讓我頭腦中的一些代碼。 –

+1

然後最終接受答案,如果它是最好的;)。 – jjmontes