如何使用NSNumberFormatter向NSString插入空格?

H3c*_*H3c 2 objective-c ios

我想写一个UITextField可以自动格式化数字到银行编号.

例如:输入1234567890098765将自动显示为1234 5678 9009 8765.

我会用textFieldDelegate它,但我不知道如何使用NSNumberFormatter.

我该怎么做?

Nic*_*idt 9

使用NSNumberFormatter很简单.

NSNumber *number = [NSNumber numberWithLongLong:1234567890098765];
NSNumberFormatter *formatter = [NSNumberFormatter new];
[formatter setUsesGroupingSeparator:YES];
[formatter setGroupingSize:3];
// [formatter setGroupingSeparator:@"\u00a0"];
NSString *string = [formatter stringFromNumber:number];
Run Code Online (Sandbox Code Playgroud)

我故意评论了设置格式化程序分组分隔符的行,因为最好使用默认的一个,这是由用户的语言环境提供的(例如,在美国,.德国和'瑞士).另请注意,iOS不使用空格作为分隔符,而是使用不间断的空格(U+00A0).