美文网首页
iOS - 两位内的有效位小数

iOS - 两位内的有效位小数

作者: HanZhiZzzzz | 来源:发表于2021-12-20 16:54 被阅读0次

    网上很多代码的10050 会返成1.00 ,其实应该是1。
    之前我也是直接复制的网上的代码,结果测试反馈了这个问题。
    这段代码修复了这个问题

    // 显示2位内有效位小数
    NSString *formatFloat(float f)
    {
        if (fmodf(f, 1)==0) {//余数无小数
            return [NSString stringWithFormat:@"%.0f",f];
        }else if (fmodf(f*10, 1)==0) {// f*10的情况下 余数为0。返回一位小数
            return [NSString stringWithFormat:@"%.1f",f];
        }else if (fmodf(f*100, 1)==0) {// f*100的情况下 余数为0。返回两位小数
            return [NSString stringWithFormat:@"%.2f",f];
        }else {
            NSString *str =  [NSString stringWithFormat:@"%.2f",f];
            if ([[str substringWithRange:NSMakeRange(str.length - 1, 1)] isEqualToString:@"0"]) {
                str = [str substringWithRange:NSMakeRange(0, str.length - 1)];
                
                if ([[str substringWithRange:NSMakeRange(str.length - 1, 1)] isEqualToString:@"0"]) {
                    str = [str substringWithRange:NSMakeRange(0, str.length - 2)];
                }
            }
            
            return str;
        }
    }
    

    相关文章

      网友评论

          本文标题:iOS - 两位内的有效位小数

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