在做教程工作时,我花了很长时间才实现小数点,现在我有了一个可以在公式中使用的小数点,但问题是它反转了输入 - 例如输入 1.4,计算器屏幕将其显示为4.1 - 我知道它与我对变量的管理有关..计划使用 BOOL 而不是 float ..但是..有接受者吗?
代码:
- (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];
}
最佳答案
更仔细地考虑代码中的这段摘录的作用:
currentNumber = .1 * currentNumber + (double)[sender tag];
(我不是很明确,因为如果我正确理解了这个问题,你这样做是为了学习,你思考得越多,你就会学得越好:-)。)
关于iPhone计算器输入时小数位反转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10367179/