小數很怪

看板java作者 (YUNGING)時間17年前 (2008/04/14 18:44), 編輯推噓4(400)
留言4則, 4人參與, 最新討論串1/1
我用這個數 0.21283542 然後用FOR迴圈每一圈就加0.00000001 實際上看起來沒有什麼問題 但是這個數應該是這樣跑才對 0.21283542 0.21283543 0.21283544 0.21283545 0.21283546 0.21283547 0.21283548 0.21283549.................. 但是電腦卻跑出小數卻為 0.21283542 0.21283543 0.21283544 0.21283544999999998 0.21283545999999998 0.21283546999999997 0.21283547999999997 0.21283548999999996 0.21283549999999996 0.21283550999999995 0.21283551999999995 0.21283552999999994 0.21283553999999994 0.21283554999999993 0.21283555999999993 0.21283556999999992 0.21283557999999992 0.2128355899999999 0.2128355999999999 0.2128356099999999 0.2128356199999999 0.2128356299999999 0.21283563999999989..... 請問那有辦法節決這麼問題嗎........ 因為我要算的數字很小.. 我發現這樣的話答案全部不一樣勒 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.126.60.76

04/14 20:30, , 1F
數字很小,要不要考慮改用fixpoint?
04/14 20:30, 1F

04/14 20:40, , 2F
這個問題前幾篇已經有討論過了,請爬文
04/14 20:40, 2F

04/14 23:55, , 3F
BigInteger
04/14 23:55, 3F

04/16 20:00, , 4F
因為浮點數其實並不是精確的
04/16 20:00, 4F
文章代碼(AID): #180pM7yG (java)