AndroidDev
AndroidDev

Reputation: 21237

NSNumberFormatter setFormat error

Working on my first iOS app. I think that this code should work, but I get the following error. Maybe I am missing an import or something?

No visible @interface for 'NSNumberFormatter' declares the selector'setFormat'

NSNumberFormatter* formatter = [[NSNumberFormatter alloc] init];
[formatter setFormat:@"#0.00"];

Upvotes: 3

Views: 1306

Answers (2)

Joiningss
Joiningss

Reputation: 1320

You cann't call setFormat: for NSNumberFormatter.

Some sample code:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterDecimalStyle;
NSString *string = [formatter stringFromNumber:[NSNumber numberWithInt:123456789]];
NSLog(@"Formatted number string:%@",string);

numberStyle enum:

enum {  
    NSNumberFormatterNoStyle = kCFNumberFormatterNoStyle,
    NSNumberFormatterDecimalStyle = kCFNumberFormatterDecimalStyle,
    NSNumberFormatterCurrencyStyle = kCFNumberFormatterCurrencyStyle,
    NSNumberFormatterPercentStyle = kCFNumberFormatterPercentStyle,
    NSNumberFormatterScientificStyle = kCFNumberFormatterScientificStyle,
    NSNumberFormatterSpellOutStyle = kCFNumberFormatterSpellOutStyle
};

reslut for each numberStyle:

[1243:403] Formatted number string:123456789
[1243:403] Formatted number string:123,456,789
[1243:403] Formatted number string:¥123,456,789.00
[1243:403] Formatted number string:-539,222,988%
[1243:403] Formatted number string:1.23456789E8
[1243:403] Formatted number string:one hundred twenty-three million four hundred fifty-six thousand seven hundred eighty-nine

Upvotes: 1

manujmv
manujmv

Reputation: 6445

You can't set the format as you provided here. Set the number format as given below

[formatter setNumberStyle:NSNumberFormatterSpellOutStyle];
//or other styles like NSNumberFormatterDecimalStyle,NSNumberFormatterPercentStyle

or you can create a custom number format as

[formatter setPositiveFormat:@"#0.00"];

A nice tutorial is given here

http://useyourloaf.com/blog/2012/06/14/using-number-formatters.html

Upvotes: 1

Related Questions