我现在可以使用小数,但是由于某种原因它向后显示。这可能是我缺乏数学技能,但下面是代码:

-(IBAction)buttonDigitPressed:(id)sender {
    currentNumber = (float)[sender tag] + currentNumber /10;
    priceOne.text = [NSString stringWithFormat:@"%.2f",currentNumber];
}


现在,当我按以下顺序在自定义键盘上键入:5-2-1时,它将向后显示数字:1.25。我希望它显示5.21。有任何想法吗?

最佳答案

在您的@interface中添加一个新的实例变量

float currentMultiplier;


在(重新)初始化例程中进行设置,因此:

currentMultiplier = 1.0;


并将您在问题中提到的例程重新编码为:

-(IBAction)buttonDigitPressed:(id)sender
{
  currentNumber += (float)[sender tag]*currentMultiplier;
  currentMultiplier *= 0.1;
  priceOne.text = [NSString stringWithFormat:@"%.2f",currentNumber];
}

07-25 23:20