Yardım float division by zero hatası alıyorum

  • Konuyu açan Konuyu açan DevJax
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 3
  • Gösterim Gösterim 90
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

DevJax

Jax
Üye
Mesaj
129
Beğeni
26
Puan
491
Ticaret Puanı
0
merhaba arkadaşlar sorunsuz çalışan bi sistem vardı bugun hata aldım bi işlem yapmadım o sistem ile alakalı nasıl çözebilirim
C++:
Genişlet Daralt Kopyala
1208 19:30:46510 ::   File "uiopportunity.py", line 155, in OnUpdate

1208 19:30:46510 ::   File "uiopportunity.py", line 45, in SendOpportunityInfo

1208 19:30:46510 :: ZeroDivisionError
1208 19:30:46510 :: :
1208 19:30:46510 :: float division by zero
1208 19:30:46510 ::


45. satırdaki olan hata:
Genişlet Daralt Kopyala
        self.ScrollBar.SetMiddleBarSize(float(board_count) / float(len(constInfo.OPPORTUNITY_DATA)))
 
bu şekilde deneyin düzelecektir
Kod:
Genişlet Daralt Kopyala
        self.ScrollBar.SetMiddleBarSize(float(board_count / len(constInfo.OPPORTUNITY_DATA)))
 
board_count ve OPPORTUNITY_DATA verisinin 0 dan büyük olduğundan emin misin?
Eğer bunlardan biri veya her ikisi başlangıçta 0 ise, değeri güncellenmeden SetMiddleBarSize çağrısı yapılıyor olabilir.

Aşağıdaki gibi bir düzenleme yapabilirsin. Eğer bu kod sorunu çözerse kendi mantığında daha farklı yaklaşımlarda bulunabilirsin:
Python:
Genişlet Daralt Kopyala
if board_count == 0 or len(constInfo.OPPORTUNITY_DATA) == 0:
    import chat
    chat.AppendChat(1, "ERROR: board_count: %d ::::: OPPORTUNITY_DATA: %d" % (board_count, len(constInfo.OPPORTUNITY_DATA))
    ## bu blok sadece test aşamasında hata yakalama amaclidir.
else:
    self.ScrollBar.SetMiddleBarSize(float(board_count) / float(len(constInfo.OPPORTUNITY_DATA)))
 
Geri
Üst