Это пример ситуации, когда категории в Objective-C светятся.
Самое чистое решение - создать категорию для NSNumber. .h:
@interface NSNumber (Formatter)
- (NSString *)currencyStringValue;
@end
и .m:
@implementation NSNumber (Formatter)
- (NSString *)currencyStringValue
{
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.locale = [NSLocale currentLocale];
formatter.numberStyle = NSNumberFormatterCurrencyStyle;
return [formatter stringFromNumber:self];
}
@end
В вашем коде вам нужно #import "NSNumber + Formatter.h" и просто сделать это:
- (IBAction)buttonPressed1:(id)sender
{
double total = [Amount1.text doubleValue] + [Amount2.text doubleValue];
NSNumber *totalNumber = [NSNumber numberWithDouble:total];
SumCurrency.text = totalNumber.currencyStringValue;
}
Очень ясно и чисто.