IOS中网络请求数值精度丢失的情况

2019-04-23  本文已影响0人  幽玄727

接口返回数据类型NSNumber

如下84.43000000000000

71.1799999999999999

这种情况只会在iOS中出现,Android中是正常的

处理方法

1.让后台给数值类型的数据改成字符串类型

2.

或者 (这种方法有可能是无效的)

*!

@brief 修正浮点型精度丢失

@param str 传入接口取到的数据

@return 修正精度后的数据

*/

+(NSString *)reviseString:(NSString *)str

{

    //直接传入精度丢失有问题的Double类型

    double conversionValue = [str doubleValue];

    NSString *doubleString = [NSString stringWithFormat:@"%lf", conversionValue];

    NSDecimalNumber *decNumber = [NSDecimalNumber decimalNumberWithString:doubleString];

    return [decNumber stringValue];

}

上一篇 下一篇

猜你喜欢

热点阅读