2

チュートリアルの作業をしている間、小数点を実装するのに永遠にかかりました.今では式で機能する小数点を持っていますが、問題は入力を逆にすることです. 1.4 と入力すると、電卓の画面に 4.1 と表示されます。これは、変数のハウスキーピングと関係があることはわかっています。フロートの代わりに BOOL を使用する予定です。しかし、テイカーはありますか?

コード:

     - (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];
  }
4

2 に答える 2

2

コードからのこの抽出が何をするかをより注意深く検討してください。

currentNumber = .1 * currentNumber + (double)[sender tag];

(私が質問を正しく理解していれば、あなたは学ぶためにこれを行っているので、私はあまり明確ではありません.

于 2012-04-28T20:26:46.390 に答える
-1

ここでレッスン番号 2:スタンフォード大学の iTunes U チュートリアルでは、簡単な電卓の作成について説明しています。役立つかもしれません。いずれにせよ、それは素晴らしいチュートリアル シリーズです。

于 2012-04-28T20:26:32.433 に答える