3

如何设置显示以显示逗号:24,532,664 而不是 24532664?

4

3 回答 3

8

使用NSNumberFormatter

清单 1

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber *myNumber = [NSNumber numberWithInteger:122344];
NSString *formattedNumberString = [numberFormatter stringFromNumber:myNumber];
[numberFormatter release];  // if you aren't using ARC.
NSLog(@"formattedNumberString: %@", formattedNumberString);
// Output for locale en_US: "formattedNumberString: formattedNumberString: 122,344"
于 2012-07-02T21:36:21.947 回答
3

您可以使用-[NSString initWithFormat:locale:].

NSLocale *locale = [NSLocale currentLocale]; // always use the user's locale
NSString *string = [[NSString alloc] initWithFormat:@"%d" locale:locale, 24532664];

如果逗号是强制性的,您可以选择特定的语言环境 ( en_US),以便始终获得相同的结果。但是,如果该字符串是要显示给用户的,那不是一个好主意。

NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
于 2012-07-02T21:48:26.143 回答
1

为此,您需要使用 NSNumberFormatter。

例如,格式化数字以显示逗号和/或美元符号

之后别忘了清理!!!

于 2012-07-02T21:37:55.547 回答