Я хотел бы форматировать строку с цифрами, чтобы выглядеть следующим образом: XX XX XX
(например, 12 34 56
)NSNumberFormatter группировки
Я использую NSNumberFormatter
с группировкой сепаратора:
let formatter = NSNumberFormatter()
formatter.usesGroupingSeparator = true
formatter.groupingSize = 2
formatter.groupingSeparator = " "
if let number = Int(theText.stringByReplacingOccurrencesOfString(" ", withString: "")) {
let numberToFormat = NSNumber(integer:number)
textField.text = formatter.stringFromNumber(numberToFormat)
}
Это будет работать хорошо, если вы введите номер 123456
- он отформатирован до 12 34 56
Я использую это внутри метода shouldChangeCharactersInRange
, поэтому он должен форматировать номер по мере ввода. Группировка разделителя определяет номера сгруппированы по groupingSize
значения с правой стороны, поэтому, когда вы вводите в 123456
это как текст изменение:
1
12
1 23
12 34
1 23 45
12 34 45
, и я хотел бы, чтобы отформатировать его следующим образом:
1
12
12 3
12 34
12 34 5
12 34 56
ли можно определить, из каких групп групп разделителей групп?
это отличная идея, чтобы добавить 0 в конце, и удалить его потом, спасибо! – gvuksic