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 课:Stanford iTunes U 教程涵盖了构建一个简单的计算器。可能会有所帮助。无论哪种方式,它都是一个很棒的教程系列。

于 2012-04-28T20:26:32.433 回答