[問題] 請問一下float的問題

看板C_and_CPP (C/C++)作者 (阿吉)時間16年前 (2009/12/24 18:14), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/1
我寫了一段程式 不過在處理float的問題上出現了錯誤 兩個變數相減的結果應該會是0 但卻出現1.19209e-007 我cout了兩個值都是1 但減完確不是0 有人知道是我在用float上忽略了什麼嘛 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) DEV C++ 感謝大家了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 134.208.2.154 ※ 編輯: dmx6 來自: 134.208.2.154 (12/24 18:14) ※ 編輯: dmx6 來自: 134.208.2.154 (12/24 18:14)

12/24 18:16, , 1F
忽略了浮點數並不是完全精準的特性 XD
12/24 18:16, 1F

12/24 18:17, , 2F
你可以用 if ( (f1 - f2) < 0.00001 ) 的方式來當作它是0
12/24 18:17, 2F

12/24 18:20, , 3F
真的...我也在想是這個問題 不過我一直不知道怎麼解Q_Q
12/24 18:20, 3F

12/24 18:21, , 4F
剛試了一下OK了 感謝你
12/24 18:21, 4F

12/25 00:56, , 5F
j大是不是忘了abs了....XD
12/25 00:56, 5F
文章代碼(AID): #1BCpxyFm (C_and_CPP)
文章代碼(AID): #1BCpxyFm (C_and_CPP)