[英]Realtime formatting with NSNumberFormatter in a UITextfield
[英]NSNumberFormatter not allowing more than 4 digits in UITextField
我正在嘗試構建一個基本的計算器,並且在輸入期間無法格式化顯示屏上的數字。 我正在使用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;
}
這些方法可能會派上用場:
- (void)setMaximumIntegerDigits:(NSUInteger)number;
- (void)setMaximumFractionDigits:(NSUInteger)number;
您可以將最大分數數字設置為6,或者您需要的任何數字:
[numberFormatter setMaximumFractionDigits: 6];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.