天天看點

浮點數大小比較問題

浮點數大小比較問題

這張圖是我某次進行float類型的兩數進行比較的時候的結果,它本身沒出什麼精度的問題percent調試值是0.2,proportion也是0.2,但是調試結果卻出錯了,進入了0.2>0.2的分支,這裡我隻感覺到了一個坑字。。。後面用了BigDecimal解決了,百度了一下發現這種比較還是有風險出錯的,單精确的問題,可以這樣解決:

float num=(float)(Math.round(totalPrice*100)/100);      
BigDecimal decimal1 = new BigDecimal(num1);
BigDecimal decimal2 = new BigDecimal(num2);
if(decimal1.compareTo(decimal2)>0){}      

繼續閱讀