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