当前位置 博文首页 > cungudafa的博客:IOS 规定范围和步长 输出数组

    cungudafa的博客:IOS 规定范围和步长 输出数组

    作者:[db:作者] 时间:2021-09-08 10:27

    问题

    规定时间范围0.5至3分钟,步长为0.5,要求显示该时间序列为[0.5,1,1.5,2,2.5,3]无小数显示整数。

    方案

    暴力方案就是数组等于[0.5,1,1.5,2,2.5,3],但如果范围区间是1至10000呢,如果步长是0.025呢,因此,穷举法是达咩的!

    当然,我们是优雅的coder:

    1. 时间范围&步长,采用for循环
    2. 小数需要用float格式:保留一位小数和取整需要根据具体语言有所区别

    源码

    oc的语法如下:

    self.minuteArray = [[NSMutableArray alloc] init];
        for(float i = 0.5;i<= 3;i=i+0.5) {
            if (fmodf(i, 1)==0) { //无有效小数位
                [self.minuteArray addObject:[NSString stringWithFormat:@"%.0f",i]];
            } else if (fmodf(i*10, 1)==0) {//如果有一位小数点
                [self.minuteArray addObject:[NSString stringWithFormat:@"%.1f",i]];
            }
        }
    
    cs