美文网首页iOS经验总结
处理iOS double精度丢失问题

处理iOS double精度丢失问题

作者: 夏日冰霜 | 来源:发表于2019-07-22 09:51 被阅读0次

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



    那如果需要前端把丢失的精度找回来,需要怎么做呢。我这里自己封装了一个方法,大家可以直接拿到项目中调用。

    + (NSString *)reviseString:(NSString *)str
    {
        //直接传入精度丢失有问题的Double类型
        double conversionValue = [str doubleValue];
        NSString *doubleString = [NSString stringWithFormat:@"%.2lf", conversionValue];
        NSDecimalNumber *decNumber = [NSDecimalNumber decimalNumberWithString:doubleString];
        return [decNumber stringValue];
    }
    
    
    • 其实最好的处理方式是,要求后台返回string类型,前端直接用string接收,不要进行任何转换。因为有些涉及金额类的数据,前端进行转换毕竟不那么安全。

    相关文章

      网友评论

        本文标题:处理iOS double精度丢失问题

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