8

我有一个 NSInteger(比如值为 60000),但是当我将它转换为字符串时,我想得到“60,000”而不是“60000”。有什么方法可以做到吗?谢谢。

4

4 回答 4

19

使用数字格式化程序:

NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init];
[fmt setNumberStyle:NSNumberFormatterDecimalStyle]; // to get commas (or locale equivalent)
[fmt setMaximumFractionDigits:0]; // to avoid any decimal

NSInteger value = 60000;

NSString *result = [fmt stringFromNumber:@(value)];
于 2013-01-09T07:46:14.457 回答
3

您可以使用数字格式化程序:

NSNumberFormatter* numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle: NSNumberFormatterDecimalStyle];
NSString *numberString = [numberFormatter stringFromNumber: [NSNumber numberWithInteger: i]];
于 2013-01-09T07:48:09.617 回答
2

试试这个,

NSString *numString = [NSString stringWithFormat:@"%d,%d",num/1000,num%1000];
于 2013-01-09T07:46:50.043 回答
-1

用于将NSNumberFormatter数字数据格式化为本地化的字符串表示形式。

int aNum = 60000;
NSString *display = [NSNumberFormatter localizedStringFromNumber:@(aNum)
                                                     numberStyle:NSNumberFormatterCurrencyStyle];

这样做,您将获得“$60,000.00”

之后,您可以通过执行此操作删除 $ 和 '.'(十进制)的符号。

 NSString *Str = [display stringByReplacingOccurrencesOfString:@"$" withString:@""];

 NSString *Str1 = [Str stringByReplacingOccurrencesOfString:@"." withString:@""];

NSString *newString = [Str1 substringToIndex:[Str1 length]-1];

NSString *newString1 = [newString substringToIndex:[newString length]-1];

'newString1' 将为您提供所需的结果。

于 2013-01-09T08:06:29.210 回答