当前位置: 代码迷 >> 综合 >> iOS textField输入数字时每隔3个数字就用逗号隔开
  详细解决方案

iOS textField输入数字时每隔3个数字就用逗号隔开

热度:67   发布时间:2024-01-20 18:36:28.0

有些项目的要求比较高,类似于输入银行卡号、电话号码、金额时,为了提高用户体验。输入这些类型的数字一般客户要求添加格式。这对于开发人员来说无疑是增加难度。在此提供一种输入金额时每隔三个数字就用逗号隔开的方法供大家参考,如有不足之处请指教。


- (void)viewDidLoad {

    [super viewDidLoad];


    [self.outstandingTextField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];//给textField 添加监听事件

    

}


-(void)textFieldDidChange :(UITextField *)theTextField{

    theTextField.attributedText = [self setBalance:theTextField.text];

}



-(NSMutableAttributedString *)setBalance:(NSString *)balance{

    if (balance == nil) {

        balance = @"0";

    }

    NSString *newBalance = [balance stringByReplacingOccurrencesOfString:@"," withString:@""];

    NSNumberFormatter *formatter = [NSNumberFormatter new];

    [formatter setNumberStyle:NSNumberFormatterDecimalStyle]; 

    

    NSString *formattedBalance = [formatter stringFromNumber:[NSNumber numberWithInteger:[newBalance integerValue]]];

    

    NSMutableAttributedString *vAttrString = [[NSMutableAttributedString alloc]initWithString:[NSString stringWithFormat:@" %@", formattedBalance] attributes:nil];

    

    NSLog(@"===---- %@",vAttrString);

    return vAttrString;


  相关解决方案