float小數點精準度的問題
在Java和C#的世界裡面,float小數點精準度是有問題的,我一直以為我不會碰到這個問題,但是今天這個炸彈爆炸了 XD 1.235 > 1.230 + 0.005 ? 這個結果有念過小學都知道false,但是無論是Java或.NET當這幾個數字的資料型態是float的時候就會出錯 ex. float a = 1.235f; float b = 1.230f; float c = 0.005f; if(a > b + c) .... 會是true 因此我們必須調高精準度.. 把資料型態轉變成double 就可以了... 讓我想不到的是.. float到小數點第三位就會出錯了 XD