我工作的計算器應用程序,輸出答案,而不是點擊等號按鈕。到目前爲止,除非你在已經計算好的數字上加上(或 - ,/,*),否則一切正常。例如,如果我做10 + 15 + 9,它會給我169而不是正確答案(34)。我想我知道爲什麼會發生這種情況,但我不確定如何解決這個問題。計算器的問題,答案是動態回答
這裏是我的代碼:
if (answer == NO) {
saved1 = saved1 * 10 + digit;
if ([self.screen.text isEqual: @"0"] || operationClear == YES) {
self.screen.text = number;
operationClear = NO;
}else{
self.screen.text = [NSString stringWithFormat:@"%@%@", self.screen.text, number];
}
}else{
saved2 = saved2 * 10 + digit;
if (plus == YES) {
answerr = saved1 + saved2;
//saved1 = answerr;
// saved2 = 0;
NSNumberFormatter *formatter = [[NSNumberFormatter alloc]init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
self.screen.text = [formatter stringFromNumber:[NSNumber numberWithDouble:answerr]];
}
}
}
我相信這個問題是當你到了加上它只是增加了9到的saved2
結束的第二次。爲了解決這個問題,我試着讓saved1
等於這個答案,並且讓saved2
等於零,這是行不通的。 任何想法?如果我犯了這個錯誤,請告訴我,我是iOS開發新手,希望以最有效的方式做到這一點。 謝謝。
我本來就是這樣想的,但有人告訴我有很多人,我應該這樣做,就像我現在這樣做。我不知道我最終會做什麼。謝謝。 – user3186310
嗯,有什麼理由?你如何處理小數? – Logan
我其實還沒有達到那個程度,我想我可能會用你的方式去做,看起來它會讓事情變得更簡單。我怎麼會這樣做實際的數學呢? – user3186310