逆轉雖然做教程的工作,我花了永遠實現一個小數點,現在我有一個,即在公式中工作,但問題是它反轉輸入 - 例如輸入1.4 ,計算器屏幕顯示它爲4.1 - 我知道它與我對變量的管理有關。計劃使用BOOL而不是float..but..any ..iPhone計算器十進制數字輸入
代碼:
- (IBAction) pressedDecimal: (id) sender
{
pressedDec = 1;
}
- (IBAction) pressedDigit: (id) sender
{
if (pressedDec == 1)
{currentNumber = .1 * currentNumber + (double)[sender tag];
calculatorScreen.text = [NSString stringWithFormat:@"%g",currentNumber];
}
else
{
currentNumber = currentNumber * 10 + (double)[sender tag];
calculatorScreen.text = [NSString stringWithFormat:@"%g",currentNumber];
pressedDec = 0;
}
}
- (IBAction) pressedOperation: (id) sender
{
if (currentOperation == 0) result = currentNumber;
else {
switch (currentOperation) {
case 1:
result = result + currentNumber;
break;
case 2:
result = result - currentNumber;
break;
case 3:
result = result * currentNumber;
break;
case 4:
result = result/currentNumber;
break;
case 5:
currentOperation = 0;
break;
}
}
currentNumber = 0;
calculatorScreen.text = [NSString stringWithFormat:@"%g",result];
if ([sender tag] == 0) result = 0;
currentOperation = [sender tag];
}
非常感謝你,你完全正確。如sch進一步所示。我只希望下一個問題能以類似的格式得到解答。有了一個剛剛起步的開發者,有時候只是額外的眼睛說「嘿!你在這裏想什麼」是他們需要的。我非常感謝你關心我的學習道路! – theProject 2012-04-28 20:51:26
很高興爲您服務!你應該考慮接受sch的答案或我的答案。祝你好運... – 2012-04-28 20:58:45
Gareth ...即時通訊有問題。我想接受你的答案很多,因爲它讓我回答自己,但爲了將來搜索其他用戶,我相信協議會讓我接受他,因爲它顯示了答案,並且可以保存重複的問題以免被問到? – theProject 2012-04-28 21:03:36