美文网首页
IOS中网络请求数值精度丢失的情况

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

作者: 幽玄727 | 来源:发表于2019-04-23 15:49 被阅读0次

接口返回数据类型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];

}

相关文章

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

    接口返回数据类型NSNumber 如下84.43000000000000 71.1799999999999999 ...

  • JAVA/JS 精度丢失问题

    在JAVA和JS浮点型数值直接计算中,经常会出现一些精度丢失的情况。 JAVA和JS采用的是IEEE 754规范,...

  • AFNetworking小数点精度丢失问题

    本问引自于:关于iOS数据解析小数丢失精度的问题AFNetworking 目前发现 下面是正常请求。 打印结果如下...

  • BigDecimal类

    BigDecimal类概述由于在运算的时候,float类型和double很容易丢失精度,在金融、银行等对数值精度要...

  • ios中精度丢失的问题

    1. 问题: 在iOS开发中,我们经常要使用浮点类型去接收后台返回过来的的数据,这时往往会遇到精度问题,特别是在开...

  • 小问题整理

    1.iOS11数字精度问题 /*! @brief 修正浮点型精度丢失 @param str 传入接口取到的数据 @...

  • 修复Long类型太长,而Java序列化JSON丢失精度问题的方法

    Java序列化JSON时long型数值,会出现精度丢失的问题。原因:java中得long能表示的范围比js中num...

  • js中的数字

    Number对象 可表示的最大的数 Math对象 js中的最大整数 安全整数 当整数数值过大时,就会发生精度丢失 ...

  • 处理iOS double精度丢失问题

    有些时候,后台返回类型为double类型的数值,如(double)558.93,那前端json解析后,会有精度丢失...

  • iOS popViewController 失效

    iOS7在viewDidLoad中,请求网络数据,(网络请求开辟线程),在请求失败的时候,在主线程中 popVie...

网友评论

      本文标题:IOS中网络请求数值精度丢失的情况

      本文链接:https://www.haomeiwen.com/subject/tunvgqtx.html