美文网首页
NSDecimalNumber修复精度问题

NSDecimalNumber修复精度问题

作者: Smallwolf_JS | 来源:发表于2021-01-04 16:08 被阅读0次

    json 解析double类型多出几位小数,利用NSDecimalNumber修复

    后台返回float类型数据8.2,实际用AFN的json解析后得到8.1999999999,该怎么处理呢

    开发中处理处理价格金额问题, 后台经常返回float、double类型, 打印或转成NSString都会有精度丢失问题, 因此使用系统自带的NSDecimalNumber做处理, 能解决这问题:

    处理精度有关的数据先把数据转成double类型

    +(NSString )reviseString:(NSString )string{
    
    /* 直接传入精度丢失有问题的Double类型*/
    
    double conversionValue        = (double)[string floatValue];
    
    NSString *doubleString        = [NSString stringWithFormat:@"%lf", conversionValue];
    
    NSDecimalNumber *decNumber    = [NSDecimalNumber decimalNumberWithString:doubleString];
    
    return [decNumber stringValue];
    
    }
    ···
    

    相关文章

      网友评论

          本文标题:NSDecimalNumber修复精度问题

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