使用NSNumberFormatter将NSNumber转换为NSString

7

我正在将一个NSNumber转换为NSString,假设在这个例子中选择的键为"theindex",其值为1000000

NSNumber  *firstNumber = [tempDict objectForKey:@"theindex"];
NSString *convertNumber = [firstNumber stringValue];

返回NSString "1000000"

我希望字符串的值为"1,000,000"。

我不关心本地化,但从其他问题中了解到应该实现NSNumberFormatter。我不确定如何实现这一点?

2个回答

18

以下是使用NSNumberFormatter的标准格式样式的示例:

NSNumber *firstNumber = [NSNumber numberWithInt:123456789];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSString *convertNumber = [formatter stringForObjectValue:firstNumber];
NSLog(@"value : %@", convertNumber);

你可以参考以下链接中的其他示例:
http://iosdevelopertips.com/cocoa/formatting-numbers-nsnumberformatter-examples.html


2
 NSNumber  *firstNumber = [[NSNumber alloc] initWithInt:1000000] ;
 NSNumberFormatter *format=[[NSNumberFormatter alloc] init];
 [format setGroupingSize:3];
 [format setCurrencyGroupingSeparator:@","];
 [format setNumberStyle:NSNumberFormatterDecimalStyle];
 NSString *convertNumber = [format stringFromNumber:firstNumber];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接