美文网首页
iOS-计算数据之后转成string精度保留

iOS-计算数据之后转成string精度保留

作者: 不明Xia落 | 来源:发表于2019-01-17 16:51 被阅读12次

    问题

    项目中需要用到比例这一个字段,接口返回的是string类型的字符串,比如 ,我们需要展示成20%,接口给的是0.2。一开始是没有问题的,后来客户要求这个比例的范围需要增多,然后iOS端数据处理出现问题了。 0.005展示为0%

    解决

    问题代码

    - (NSString *)scaleStr {
       return [NSString stringWithFormat:@"%.0f%%",[_model.scale floatValue]*100];
    }
    

    修改后

    - (NSString *)scaleStr {
        NSString *rate = [NSString stringWithFormat:@"%f", [_model.scale floatValue]*100];
        NSDecimalNumber *dn = [NSDecimalNumber decimalNumberWithString:rate];
        NSString *rateString = [NSString stringWithFormat:@"%@%%", dn.stringValue];
        return rateString;
    }
    
    

    用到了NSDecimalNumber这个类保留接口传过来的精度。
    还有%需要使用%%才能展示出%

    相关文章

      网友评论

          本文标题:iOS-计算数据之后转成string精度保留

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