項目開發過程中,有很多涉及到金額、款項類的輸入框,前端輸入後傳遞到後端接收,很多時候直接用Float,Double類型接收,數值不是很大時候沒問題,精度不會出錯,但是一般數值過大就會出現小數點精度丟失,原理應該是跟Float,double類型的底層存儲位數有關係,本文介紹java中如何處理此類問題!
處理方法是 後臺用 java.math.BigDecimal類型的參數接收,不要使用Float,Double類型,BigDecimal會將前端傳遞的參數精準的接收,在直接入庫就可以啦!
還有就是在後端項目涉及數量計算累加的時候,也必須使用BigDecimal類型,相加時候使用add方法,最後將總的數值(BigDecimal類型)轉換成數值就可以了!