基本的な電卓を作成しようとしていますが、入力中にディスプレイ上の数値をフォーマットするのに問題があります。「99999」が「99,999」のように見えるように、NSNumberFormatter を使用して 3 桁ごとにコンマを入れています。
問題は、入力中に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;
}