我正在尝试构建一个基本的计算器,但在输入过程中无法格式化显示屏上的数字。我使用 NSNumberFormatter 在每 3 位数字后加一个逗号,这样“99999”就可以看起来像“99,999”。
问题是它在输入过程中不会显示超过 4 位……它基本上会重置为 1 位。这是我的数字输入代码:
- (IBAction)digitPressed: (UIButton *)sender
{
NSString *digit = sender.titleLabel.text;
display.text = [display.text stringByAppendingString:digit];
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setGroupingSeparator:@","];
[numberFormatter setGroupingSize:3];
[numberFormatter setUsesGroupingSeparator:YES];
[numberFormatter setDecimalSeparator:@"."];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSString *theString = [numberFormatter stringFromNumber:[NSNumber numberWithDouble:[[display text] doubleValue]]];
display.text = theString;
}