2012-01-26 2 views
3

Возможно, это глупый ответ, но я очень новичок в ios .. Мне нужно показать номер определенным образом в моем приложении. В настоящее время у меня есть номера, которые я получаю от службы в NSString. Но, например, если у меня есть номер: 123456789, мне нужно показать его на ярлыке как 123.456.789. Кто-нибудь знает, есть ли способ сделать это?NSNumber с запятыми

Edit: добавить ИОС и iphone теги

+2

ли искали вас сайт на всех? – Sulthan

ответ

5

Используйте NSNumberFormatter:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 
[formatter setNumberStyle:NSNumberFormatterDecimalStyle]; 
NSString *formattedOutput = [formatter stringFromNumber:[attributesDict objectForKey:NSFileSystemFreeSize]]; 
NSLog(@"System free space: %@", formattedOutput); 

Если ваш номер приходит в виде строки, во-первых, вам необходимо сделать ряд из него первый, который вы можете сделать с помощью метода intValueNSString «S:

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/occ/instm/NSString/intValue

+0

Ничего себе, спасибо, что решает мою проблему! спасибо – Yotes

+0

Конечно! Хотя Султан прав; немного больше поиска, вероятно, оказалось бы подобной информацией. :) – Almo

+0

На деле я пробовал некоторые вещи с nsnumberformatter, но я не очень хорошо понял, как это работает. Я сделал некоторые исследования, но, возможно, потому, что я новичок, я не смог найти решение. Во всяком случае, я был наказан двумя пунктами: P .. мой английский настолько беден, я так сориентирован – Yotes

0

Это работает для меня:

NSNumberFormatter *numFormatter = [NSNumberFormatter new]; 
[numFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@"fr_US"]]; 
[numFormatter setNumberStyle:NSNumberFormatterDecimalStyle]; 
[numFormatter setUsesGroupingSeparator:YES]; 
[numFormatter setGroupingSeparator:@","]; 
[numFormatter setGroupingSize:3]; 
NSString * newString = [numFormatter stringFromNumber:[NSNumber numberWithDouble:43423423423242]]; 
Смежные вопросы