iPhone计算器输入时反转的十进制数字

iPhone计算器输入时反转的十进制数字,iphone,objective-c,xcode,ios4,syntax,Iphone,Objective C,Xcode,Ios4,Syntax,在做辅导工作时,我花了很长时间才实现一个小数点,现在我有了一个小数点,它在公式中起作用,但问题是它会反转输入-例如,输入1.4,计算器屏幕将其显示为4.1-我知道这与我对变量的管理有关。。打算用波尔牌而不是花车但是有人要吗 守则: - (IBAction) pressedDecimal: (id) sender { pressedDec = 1; } - (IBAction) pressedDigit: (id) sender {

在做辅导工作时,我花了很长时间才实现一个小数点,现在我有了一个小数点,它在公式中起作用,但问题是它会反转输入-例如,输入1.4,计算器屏幕将其显示为4.1-我知道这与我对变量的管理有关。。打算用波尔牌而不是花车但是有人要吗

守则:

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

第2课:介绍如何构建一个简单的计算器。可能会有帮助。无论哪种方式,这都是一个很棒的教程系列。

请仔细考虑从代码中提取的内容:

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

(我不是很明确,因为如果我正确理解了这个问题,你这样做是为了学习,而且你想得越多越好:-)

我认为这就是他正在做的教程,它没有涵盖小数点,这就是家庭作业。现在从iTunes下载,我记得不久前听说过这件事,看到它是在2010年制作的,我希望我能将Xcode 4+的功能与当时的版本区分开来。我非常感谢你,因为这正是我所需要的。家教哈哈。非常感谢你,你说得对。如sch。我只希望下一个问题能得到类似的回答。对于一个初出茅庐的开发人员来说,有时他们需要的只是一双额外的眼睛来说“嘿!你在想什么?”。非常感谢您对我学习道路的关心!很高兴为您服务!你应该考虑接受SCH的答案或者我的答案。祝你学习顺利…加雷斯…我有个问题。我很想接受你的答案,因为它让我自己回答,但对于其他用户的未来搜索,我相信协议会让我接受他的答案,因为它显示了一个答案,并且可以避免重复的问题被问到?这真的不重要。任何阅读这个问题的人都会找到两个答案。我建议你接受你认为更好的答案;我保证,如果你选择sch's,我不会生气,如果你选择我的,我打赌sch也不会生气。(这并不是说我们中的任何一方都极度缺乏如此高的声誉分数。)加雷斯。。。这是给你的:currentNumber=currentNumber+(双)【发送者标签】*0.1。。这就是为什么我在看到sch的方法根本不起作用后花了几个小时的原因,然而,这种方法现在已经很完美了。我很感激你让我思考,并建议所有新闻都这样做。