[問題] 請問有沒有0不等於0

看板java作者 (更獨立)時間12年前 (2011/10/19 14:55), 編輯推噓2(203)
留言5則, 4人參與, 最新討論串1/1
安安 請問在java中有沒有0不等於0的情況 我在做矩陣運算後 兩筆不同資料所產生的兩個單位矩陣3X3 其中一個單位矩陣(1,0)這個點用判斷式<IF((1,0)==0)過> 判斷竟然不為0 但是另外一個單位矩陣卻沒問題 我矩陣型態是double 判斷式 for(i=0;i<3;i++){ for(j=0;j<3;j++){ if((i==j&&temM.myMatrix[i][j]==1)||(i!=j&&temM.myMatrix[i][j]==0)){ } else{ System.out.printf("this matrix don't have inverse matrix\n"); return NULL; } } } 感謝不吝情指點 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.130.210 ※ 編輯: yahooc 來自: 112.104.130.210 (10/19 14:56)

10/19 14:57, , 1F
直覺想到的是浮點數誤差
10/19 14:57, 1F

10/19 15:08, , 2F
老問題 不要用double 去跟零比較 0.000n個0 != 0
10/19 15:08, 2F

10/19 15:27, , 3F
恩 轉成INT後判斷就正確了
10/19 15:27, 3F

10/19 15:36, , 4F
感謝不吝情指點
10/19 15:36, 4F

10/19 15:38, , 5F
浮點數不應該用等號判斷,老問題了
10/19 15:38, 5F
文章代碼(AID): #1EddHsTi (java)