美文网首页
iOS 浮点数精度丢失

iOS 浮点数精度丢失

作者: MdWhat | 来源:发表于2019-08-28 11:23 被阅读0次

    后台返回的浮点类型的数据为 9.37,
    但是在使用浮点显示的时候就会变成 9.369999999999999 这种样子的,
    这就是精度丢失导致的,
    比较好的办法就是 后台直接返回字符串 "9.37",
    但是在项目已经完成的情况下出现这种情况, 那么就需要前端操作了

    // double 转 string 处理精度问题
    + (NSString *)decimalNumberWithDouble:(double)conversionValue {
        NSString *doubleString = [NSString stringWithFormat:@"%lf", conversionValue];
        NSDecimalNumber *decNumber = [NSDecimalNumber decimalNumberWithString:doubleString];
        return [decNumber stringValue];
    }
    

    可以把上面的这个方法 设置为公用的, 将后台获取的浮点数转成string类型 就不会出现精度问题了

    相关文章

      网友评论

          本文标题:iOS 浮点数精度丢失

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