2013-07-01 2 views
0

в приложении Иос, я пытаюсь, чтобы позволить пользователю ввести номер и формат, и я хочу, чтобы получить строку с этим номером, отформатированный как указанный пользователем:Пользовательские форматирование из NSNumber

Для этого я попытался это:

- (NSString *)formatNumber:(NSNumber *)number withFormat:(NSString *)format 
{ 
    NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 
    [formatter setPositiveFormat:format]; 
    NSString *formatedString = [formatter stringFromNumber:number]; 
    return formatedString; 
} 

но если я пытаюсь вызвать что-то вроде этого:

NSNumber *number = [NSNumber numberWithDouble:1234567890]; 
NSString *string = [self formatNumber:number withFormat:@"###-###-####"]; 

я ожидал, чтобы получить результат: 123-456-7890

Но он не работает.

- это формат @ "### - ### - ####" неправильного синтаксиса? или я неправильно использую NSNumberFormatter?

Спасибо за любую помощь

PS: Я не хочу жесткий код алгоритма к проходным символов и вставьте тире (-), так как этот формат является лишь примером, поскольку пользователь может свободно изменить Это.

Благодаря

EDIT

SORRY в то время как сочинительство мой код здесь я пропустил линию. добавили это

+0

Где в вашем методе используется параметр формата? –

+0

Вы, кажется, не устанавливаете формат NSNumberFormatter нигде в своем методе. Я не вижу, что он делает что-нибудь с «NOM-форматом формата», который вы его отправляете. – James

+0

Прошу прощения, я отредактировал свой вопрос. Я забыл включить его во время написания моего вопроса. – Youssef

ответ