3

也许这是一个愚蠢的答案,但我对 ios 很陌生。我必须在我的应用程序中以特定方式显示一个数字。目前,我有从 NSString 中的服务收到的号码。但是,例如,如果我有一个号码:123456789,我需要在标签中显示为 123.456.789 .. 有谁知道是否有办法做到这一点?

编辑:添加 ios 和 iphone 标签

4

3 回答 3

5

使用NSNumberFormatter

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

如果您的号码首先以字符串形式出现,您需要先从中生成一个数字,您可以使用NSString'sintValue方法:

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

于 2012-01-26T21:13:24.360 回答
3
[NSString localizedStringWithFormat:@"%@", myNumber];
于 2014-08-22T19:15:49.620 回答
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]];
于 2015-12-09T15:41:03.173 回答