iOS网络解析小数位精度丢失

在项目中突然发现,原本应该返回两位小数的接口,返回的数据突然出现了小数点后很多9999的现象,打印接口返回的数据,发现接口返回的结果亦是如此,当时心想着肯定是后台的锅,不料安卓和postman调接口,全是返回的2位小数。网上查阅了资料,经查询发现苹果的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];
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容