float 和 double 在存儲的時候,存在精度損失的問題,很可能在值的比較時,得到不正確的結果。如果存儲的數據范圍超過 decimal 的范圍,建議將數據拆成整數和小數分開存儲。
如果采用float或者double類型的話,數據有時候完全准確的,有時候是不准確的,怎么才能存儲一個准確的數字,完全看你需要存什么樣的數據,假如存儲一個8.25這樣的數字,那永遠都是准確的。但是如果存儲0.9這樣的數字,則永遠存不准確。
Double d = 0.9; Double c = 0.9; System.out.println(d == c);//false