簡體   English   中英

NSNumberFormatter在UITextField中不允許超過4位數字

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM