也许这是一个愚蠢的答案,但我对ios很新..我必须在我的应用程序中以特定的方式显示一个数字。目前,我有从NSString中的服务收到的数字。但是,例如如果我有一个号码:123456789,我需要在标签上显示为123.456.789 ..谁知道有没有办法做到这一点?
编辑:添加ios和iphone标签
答案 0 :(得分:5)
使用NSNumberFormatter
:
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSString *formattedOutput = [formatter stringFromNumber:[attributesDict objectForKey:NSFileSystemFreeSize]];
NSLog(@"System free space: %@", formattedOutput);
如果您的号码首先以字符串形式出现,则您需要先使用NSString
的{{1}}方法输入一个数字:
答案 1 :(得分:3)
[NSString localizedStringWithFormat:@"%@", myNumber];
答案 2 :(得分: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]];