views:

986

answers:

2

Is it possible to display 1000.99 as 1,000.99 using

[NSString stringWithFormat:@"£%0.2f", 1000.99]

Please guide me if I am not on the right track to achieve this?

+7  A: 

See NSNumberFormatter.

It can handle all your numeric formatting needs and do so in an automatically localized fashion, when used correctly (since currencies around the world are often written with different punctuation & formatting).

In particular, check out the number formatting guide linked to at the top of the class documentation

bbum
Can you please provide with a simple example? Thanks
Leo
@bbum: here is the iPhone specific documentation http://developer.apple.com/iphone/library/documentation/Cocoa/Reference/Foundation/Classes/NSNumberFormatter_Class/Reference/Reference.html
sixlettervariables
Looking at this. Thanks
Leo
+1 `NSNumberFormatter` is definitely the correct way to do this.
Dave DeLong
Thanks guys. NSNumberFormatter is deninitely the right answer. I have managed to figure out my solution from documentation before Chris Gummer answer (His answer is exactly the way you should do it) that's why I am marking bbum's asnwer. Once again thank you all and hope it would save some ones time.
Leo
+2  A: 

Using NSNumberFormatter:

NSNumberFormatter *numberFormatter = [[[NSNumberFormatter alloc] init] autorelease];
[numberFormatter setNumberStyle: NSNumberFormatterCurrencyStyle];
NSString *numberAsString = [numberFormatter stringFromNumber:[NSNumber numberWithFloat: 1000.99]];
NSLog(@"%@", numberAsString);
Chris Gummer