json数据解析出现精确度问题,小数点后面有很多个9

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

下面是后台请求拿到的数据:

tianheCardDic =     {
        discount = "9.949999999999999"; //明明是9.95
        "oc_discount_rate" = 95;
        "oc_discount_rate_format" = "9.5";
        "th_price" = "189.05";
    };

方法处理 :

    NSString *doubleString = [NSString stringWithFormat:@"%.2lf", [tianheCardDic[@"discount"] doubleValue]];
    NSDecimalNumber *decNumber = [NSDecimalNumber decimalNumberWithString:doubleString];
    NSLog(@"%@", [decNumber stringValue]);

打印结果:
9.95

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值