我有一个UIPickerView,我用数组填充。它有两列,我需要第一列从50-500。第二列从0.01到1.重点是用户选择自己的体重。为了做50-500我有这个,
-(void)populateWeightPickerArray{
weightPickerArray = [[NSMutableArray alloc] init];
for (int weight = 50; weight <=500; weight++) {
NSString *weightString = [NSString stringWithFormat:@"%d%",weight];
[weightPickerArray addObject:weightString];
}
}
我尝试用十进制来做这个,但是当我使用++时,它会按整数上升,最终得到1.01,2.01,3.01等等。这就是我的代码。
-(void)populateWeightPickerArray2{
weightPickerArray2 = [[NSMutableArray alloc] init];
for (float weightDecimal = .01; weightDecimal <= 10; weightDecimal++) {
NSString *weightDecimalString = [NSString stringWithFormat:@"%0.2f",weightDecimal];
[weightPickerArray2 addObject:weightDecimalString];
}
}
(我知道我说我只需要它去1而不是10,但我放了10,因为一开始它只显示1.01,所以我放10来测试输出,直到我能把它弄好。)
所以我需要以某种方式递增它以使其从.01变为1(0.02,0.03,0.04等)。有谁知道怎么做?
答案 0 :(得分:0)
for (float weightDecimal = .01; weightDecimal <= 10; weightDecimal = weightDecimal + 0.01)
或更简洁:
for (float weightDecimal = .01; weightDecimal <= 10; weightDecimal += 0.01)
在目标C中:x += y
是x = x + y
的简写。
虽然您经常看到for
圈something++
或something--
,但您可以使用任何表达式。