2012-08-01 60 views
1

我有一個UIPickerView,我用一個數組填充。它有兩列,我需要第一列從50-500。第二列從0.01到1.重點是讓用戶挑選自己的體重。對於做50-500我都這樣了,如何增加數組中的數字來填充UIPickerView

-(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
for (float weightDecimal = .01; weightDecimal <= 10; weightDecimal = weightDecimal + 0.01) 

或更簡潔地:

for (float weightDecimal = .01; weightDecimal <= 10; weightDecimal += 0.01) 

在Objective C:x += yx = x + y的簡寫。

雖然你經常看到for循環與something++something--你可以使用任何表達式。

+0

什麼用於字符串格式..「NSString string with format:???」....我試過了@「%0.01f」,導致只顯示一個小數(0.1)。我嘗試了其他一些東西,但無法獲得正確的格式(0.01,0.02,0.03,... 0.11,0.12等)@idz – user1450221 2012-08-01 05:10:41

+0

您的原始'@「%0.2f」'應該沒問題。 (小數點前的0表示您希望在小數點前顯示一個零,如果適當,則後面的2表示顯示兩位小數。) – idz 2012-08-01 06:07:00