BigDecimal轉json時候會丟失精度問題

2022-09-20 00:06:14 字數 541 閱讀 7821

今天遇到了乙個需求,**保留兩位小數,不夠補0;

這樣乙個簡單的需求,引出一點小問題記錄下,首先我的查詢結果實體中price宣告的型別是bigdecimal,直接查詢出來保留兩位小數,這個好解決,有好幾種方法,我們這裡列舉簡單的一種,

decimalformat df = new decimalformat("#0.00");--指定保留兩位小數

p.setprice(p.getprice==null?null:df.format(p.getprice));

原以為這樣弄是ok的,但是沒想到精度還是丟失,1.20變成1.2

想了會,覺得可能是實體中bigdecimal型別的price在作為json資料返回的時候會出現這種情況,然後試了一下,將實體類中的price改成了string型別,然後改了下**:

decimalformat df = new decimalformat("#0.00");--指定保留兩位小數

p.setprice(p.getprice==null?null:df.format(new bigdecimal(p.getprice)));

double轉BigDecimal的精度問題

1.問題 今天在寫 將double 轉成bigdecimal 的時候 發現轉成的資料跟原資料不太一樣 double b 57.3 bigdecimal decimalb new bigdecimal b system.out.println decimalb 結果 57.29999999999999...

json 轉字典 字典轉json

brief 把格式化的json格式的字串轉換成字典 param jsonstring json格式的字串 return 返回字典 json格式字串轉字典 nsdictionary dictionarywithjsonstring nsstring jsonstring nsdata jsondata...

json轉實體,json轉list

json轉換 注 以下全用的是com.alibaba.fastjson 1.實體轉string轉json user user new user user.age 18 user,name 張三 實體轉string string json json.tojsonstring result string...