在項目中突然發(fā)現(xiàn)邪驮,原本應該返回兩位小數(shù)的接口笙隙,返回的數(shù)據(jù)突然出現(xiàn)了小數(shù)點后很多9999的現(xiàn)象,打印接口返回的數(shù)據(jù)隔心,發(fā)現(xiàn)接口返回的結果亦是如此白群,當時心想著肯定是后臺的鍋,不料安卓和postman調(diào)接口硬霍,全是返回的2位小數(shù)川抡。網(wǎng)上查閱了資料,經(jīng)查詢發(fā)現(xiàn)蘋果的json解析會莫名的丟失精度须尚。
有下方的方法可以完美的解決這個問題
對NSString類新增方法
+(NSString *)reviseString:(NSString *)string{
//直接傳入精度丟失有問題的Double類型
double conversionValue = [string doubleValue];
NSString *doubleString = [NSString stringWithFormat:@"%lf", conversionValue];
NSDecimalNumber *decNumber = [NSDecimalNumber decimalNumberWithString:doubleString];
return [decNumber stringValue];
}