NSDecimalNumber
is a subclass of NSNumber
. The numberFromString:
method of NSNumberFormatter
is declared to return NSNumber*
, so you need to add a cast:
NSDecimalNumber *decimalNumber = (NSDecimalNumber*)[currencyFormatter numberFromString:textField.text];
Since you have set the behavior to produce decimal numbers, this will work correctly.