我正在尝试构建一个基本的计算器,我在输入过程中无法格式化显示屏上的数字。我使用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;
}
答案 0 :(得分:0)
这些方法可能会派上用场:
- (void)setMaximumIntegerDigits:(NSUInteger)number;
- (void)setMaximumFractionDigits:(NSUInteger)number;
您可以将最大小数位数设置为6,或者您需要的任何内容:
[numberFormatter setMaximumFractionDigits: 6];