2014-04-24 53 views
0

我正在製作一個計時器,它需要每小時的工資輸入並追蹤每秒鐘產生多少錢。定時器上的格式化工作得很好,但一旦硬幣達到99美元,它就會消失,只會增加美元。這是我得到的。iOS定時器/工資計算器

seconds = (int) (elapsedTime = (elapsedTime - (minutes *60))); 
pennies = seconds * (ratePerSecond * 100); 
if(pennies > 99){ 

    dollars++; 
    pennies = 0; 
} 

self.moneyDisplay.text = [NSString stringWithFormat: @"$%02d.%02d", dollars, pennies]; 
+0

問題是什麼? – Rashad

+0

moneyDisplay添加到.99然後變成1.00,2.00,3.00 ...... – jshill103

+0

幾分錢即使我重置便士爲0. – jshill103

回答

2

試試這個:

seconds = (int) (elapsedTime = (elapsedTime - (minutes *60))); 
pennies = seconds * (ratePerSecond * 100); 
float dollars = pennies/100.0; 
self.moneyDisplay.text = [NSString stringWithFormat: @"$%.2f", dollars]; 

或:

seconds = (int) (elapsedTime = (elapsedTime - (minutes *60))); 
pennies = seconds * (ratePerSecond * 100); 
int cents = pennies % 100; 
int dollars = pennies/100; 
self.moneyDisplay.text = [NSString stringWithFormat: @"$%02d.%02d", dollars, cents]; 
+0

@downvoter - 請解釋爲什麼我們都學習。 – rmaddy

0

可能是你想這樣做(沒有,如果條件):

dollars = pennies/100; 
pennies = pennies % 100; 
self.moneyDisplay.text = [NSString stringWithFormat: @"$%02d.%02d", dollars, pennies]; 

需要注意的是:%運算符的操作數sh都有整數類型。

希望這有助於.. :)

+0

下載投票時,請添加評論,爲什麼你這樣做。你投票不會改變我可能是你的解釋可能。 – Rashad

+0

這是一個低質量的答案。用你的答案中的兩行替換'if'塊中的兩行會給出非常奇怪的結果。如果你的意思是別的,你沒有解釋它。你也拼錯了其中一個變量。 –

+0

它的作品謝謝! – jshill103