json解析精度問題

2021-07-23 05:01:07 字數 1021 閱讀 5193

由於後台傳過來的值是float或者double型別,解析之後作為物件放到字典或陣列裡面,被轉成nsstring或者nsnumber會有一定的誤差,很正常

解決辦法,通過nsnumberformatter,可以設定nsnumber輸出的格式;

nsnumberformatter *formatter = [[nsnumberformatter alloc] init];

formatter.numberstyle = nsnumberformatterdecimalstyle;

nsstring *string = [formatter stringfromnumber:[nsnumber numberwithint:123.85999999999]];

nslog(@"formatted number string:%@",string);

//列舉型別

typedef ns_enum(nsuinteger, nsnumberformatterroundingmode) ;

nsnumberformatterroundceiling = kcfnumberformatterroundceiling,//四捨五入,直接輸出124

nsnumberformatterroundfloor = kcfnumberformatterroundfloor,//保留小數輸出123.86

nsnumberformatterrounddown = kcfnumberformatterrounddown,//加上了人民幣標誌

nsnumberformatterroundup = kcfnumberformatterroundup,//百分號表示

nsnumberformatterroundhalfeven = kcfnumberformatterroundhalfeven

nsnumberformatterroundhalfdown = kcfnumberformatterroundhalfdown

nsnumberformatterroundhalfup = kcfnumberformatterroundhalfup 

iOS解析json 浮點型資料,精度丟失問題

服務端傳遞回來的是 保留小數點兩位的浮點型,ios端解析後,發現 取出欄位的doublevalue後 精度丟失,小數點後多了很多位 原值 71.20 解析後 71.199997 複製 原始資料 複製 import nsnumbertest.h nsstring const kbigdecimalnu...

jQuery解析JSON問題

jquery解析json問題 這幾天在做個專案,使用到了jqeury的ajax,當伺服器端返回json格式資料後,jquery元件居然不能正確解析,用firefox可以看到響應回來的json格式資料。單偏偏程式就是沒有出來資料。1.伺服器響應型別問題 2.伺服器響應輸出流,在關閉之前也進行了flus...

json 特殊字元解析問題

這是我解析json物件的方法 gson gson new gson initial initial gson.fromjson jsonstr,initial.class 裡面有特殊字元,解析不了啊,只要有 空格,等都解析不了,誰知道怎麼解決啊?急啊,十分感謝 解決方案 在解析之前把特殊字元先替換一...