待辦事項 #10110

0との比較が正しく行われない
啟用日期: 2007-03-17 08:37 最後更新: 2007-04-28 13:15

回報者:
(匿名)
負責人:
類型:
狀態:
關閉
元件:
(無)
里程碑:
(無)
優先權:
5 - 中
嚴重程度:
5 - 中
處理結果:
修正
檔案:

細節

t_sugaです。

if 0 == obj[4]// この条件は、0での割り算を禁止する
return
else
obj[1] = obj[3] / obj[4]
end

divided by 0でエラーになるのですが。

Ticket History (3/4 Histories)

2007-03-17 19:39 Updated by: panacoran
  • Summary Updated
評語
Logged In: YES
user_id=6886

疑うべき場所はreturn文ではなく0との比較です。
obj[4]がfloatの0だったりしませんか?
Protra言語ではintの0とfloatの0つまり0.0は違う値です
if obj[4] == 0.0
とするかintにキャストして
if (int)obj[4] == 0
とすれば0除算を避けられるはずです。
2007-04-04 10:25 Updated by: None
評語
Logged In: NO

t_sugaです。
確かにif 0 < obj[4] だと
エラーにならないから
そうかもしれません。
後で確認してみます。
2007-04-15 23:03 Updated by: panacoran
  • 負責人 Update from (無) to panacoran
  • 處理結果 Update from to 修正
評語
Logged In: YES
user_id=6886

intとfloatの同値演算はintをfloatにキャストしてから行うよう
にしました。これで0と0.0は同値になります。
2007-04-28 13:15 Updated by: panacoran
  • Ticket Close date is changed to 2007-04-28 13:15
  • 狀態 Update from 開啟 to 關閉

Attachment File List

No attachments

編輯

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » 登入