2012-08-07 51 views
0

我有一個選擇器視圖,在文本框中顯示輸出。對於用戶來說,選擇一段時間,它具有3行的小時,分​​鍾和秒。對於這部分我只關注秒數。我希望能夠將小時轉換爲分鐘,並將輸出顯示爲整數和小數。我能夠將小時轉換爲分鐘,但我無法將秒轉換爲小數。它應該像將行數除以60那樣簡單。但是,我無法讓它顯示正確。無論我選擇哪一行,標籤的輸出都是0.00。這是我的代碼。如何在標籤中輸出正確的數字?

float sec; 
sec = ([timePickerView selectedRowInComponent:2]/60); 

Label.text = [NSString stringWithFormat:@"%.2f",sec]; 

回答

2

與編號「60」相關的「/」符號被編譯器視爲整數除法。將「60」更改爲「60.0」,您將得到您期待的結果。您還應該確保[timePickerView selectedRowInComponent:2]通過投射返回浮點數:

(float)[timePickerView selectedRowInComponent:2] 
+0

哇,這很簡單。謝謝!如果你不介意你能解釋一下它是什麼意思嗎?我是編程新手,只想學習.. – user1450221 2012-08-07 22:25:56

+0

當你除int的結果被截斷,而如果你用double分割,結果也以雙格式給出 因此整數除法截斷答案 – 2012-08-07 22:27:33

+0

整數除法將返回整型結果,例如:7/2將爲3.如果另一方面我們正在處理有理數,7.0/2.0 = 3.5 – Stavash 2012-08-07 22:27:44