[ protra-Bugs-10110 ] 0との比較が正しく行われない

アーカイブの一覧に戻る

Sourceforge Tracker Monitor norep****@sourc*****
2007年 4月 15日 (日) 23:03:52 JST


Bugs item #10110, was opened at 2007-03-17 08:37
You can respond by visiting: 
https://sourceforge.jp/tracker/?func=detail&atid=3140&aid=10110&group_id=816

Category: None
Group: None
Status: Open
>Resolution: Fixed
Priority: 5
Submitted By:  (None)
>Assigned to: panacoran (panacoran)
Summary: 0との比較が正しく行われない

Initial Comment:
t_sugaです。

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

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

----------------------------------------------------------------------

>Comment By: panacoran (panacoran)
Date: 2007-04-15 23:03

Message:
Logged In: YES 
user_id=6886

intとfloatの同値演算はintをfloatにキャストしてから行うよう
にしました。これで0と0.0は同値になります。

----------------------------------------------------------------------

Comment By:  (None)
Date: 2007-04-04 10:25

Message:
Logged In: NO 

t_sugaです。
確かにif 0 < obj[4] だと
エラーにならないから
そうかもしれません。
後で確認してみます。

----------------------------------------------------------------------

Comment By: panacoran (panacoran)
Date: 2007-03-17 19:39

Message:
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除算を避けられるはずです。

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.jp/tracker/?func=detail&atid=3140&aid=10110&group_id=816




Protra-trackers メーリングリストの案内
アーカイブの一覧に戻る