我的應用程序中有一個UITextField
接收號碼。NSNumber到NSString轉換的自定義格式
我想,要在一個特定的格式來表示這個數字,是這樣的:(62) 1234 1234
的問題是:我已經擁有控制權的方法-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
但我不知道我怎樣才能使這個「面具」
目前我真的做這樣的:
string = [textField.text stringByReplacingCharactersInRange:range withString:string];
string = [[string componentsSeparatedByCharactersInSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet]] componentsJoinedByString:@""];
NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber * myNumber = [f numberFromString:string];
NSLog(@"%@", myNumber);
這段代碼的最後,我有兩兩件事:
- 字符串:我的文本的字符串表示形式(例如,
6212341234
作爲NSString
) - mynumber的:數量此字符串(例如
6212341234
作爲NSNumber
)
我怎樣才能建立這個字符串:基於myNumber
或string
(62) 1234 1234
?
編輯
應對rdelmar問題:
數量可以有10首或11個數字,我打算給他們這樣的分離: (62) 1234 1234
或(62) 12345 1234
數字總是10位數字嗎?而且,你是否總希望按照上面展示的方式將它分開? – rdelmar
請查閱我的編輯請 –
這實際上是一個電話號碼嗎?看起來像它,從你試圖實現的格式。如果是這樣,請將其視爲字符串並使用子字符串。 –