2010-02-22 60 views
1

基本上我一直在努力讓工作時間計算器,我遇到了問題。當開始時間值大於結束時間(例如,開始時間是23,結束時間是19)時,結果爲負值。所以我想在這種情況下做的是,然後將負數乘以-1再次使其成爲正數。但是,下面的代碼在我的應用程序中似乎沒有任何影響。'if'方程中的場景。我如何實現它?

-(IBAction)done:(id)sender { 
    int result = [finishHours.text intValue] - [startHours.text intValue]; 
    totalHours.text = [NSString stringWithFormat:@"%i", result]; 
    if (result < 0) { 
      result = result * -1; 

    } 
+1

如果你想計算一個夜班的時間呢? – Vladimir

+2

不需要乘:result = -result,或者只是用result = abs(result)替換整個if。 –

+0

@Vladimir:我會怎麼做呢?對不起,我很新。 – LawVS

回答

4

您設置totalHours.text 你改變你的結果變量的符號之前。

+0

謝謝你,弗拉基米爾。你幫了我很多! – LawVS

1

你是什麼意思,它沒有任何影響?是否因爲您在設置完全小時後改變了結果?這會解決你的問題嗎?

-(IBAction)done:(id)sender { 
int result = [finishHours.text intValue] - [startHours.text intValue]; 
if (result < 0) { 
     result = result * -1; 

} 
totalHours.text = [NSString stringWithFormat:@"%i", result];