問題發生的場景:
json傳遞過來一個BigDecimal類型數據【545169.8113】,通過JSONObject.fromObject
來將其轉換為一個對象,在轉換之后的對象數據中存儲的數據已經丟失了變為【545169.8】丟失了部分精度。
使用的JAR包:net.sf.json
問題跟蹤
追蹤問題的根源,解析過程一直在這里面進行調用
最后會nextValue拼接出一個【545169.8113】,這個時候還是正確的。
最后會將這個傳入NumberUtils.createNumber方法,解析后就會是一個丟失精度的Float