Skip to content

Instantly share code, notes, and snippets.

@jrturton
Created June 7, 2013 10:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jrturton/5728311 to your computer and use it in GitHub Desktop.
Save jrturton/5728311 to your computer and use it in GitHub Desktop.
Category for adding currency indicators to NSStrings
@interface NSString (CurrencyIndicators)
-(NSString*)stringByAddingCurrencyIndicator:(NSString*)indicatorCode;
@end
@implementation NSString (CurrencyIndicators)
-(NSString*)stringByAddingCurrencyIndicator:(NSString*)indicatorCode
{
NSString *formatString = nil;
NSString *prefix = nil;
NSString *number = nil;
// Remove any sign from the front of the string
if ([self hasPrefix:@"+"] || [self hasPrefix:@"-"])
{
prefix = [self substringToIndex:1];
number = [self substringFromIndex:1];
}
else
{
prefix = @"";
number = self;
}
if ([indicatorCode isEqualToString:@"GBX"])
formatString = @"%@p";
else if ([indicatorCode isEqualToString:@"GBP"])
formatString = @"£%@";
else if ([indicatorCode isEqualToString:@"USD"])
formatString = @"$%@";
else if ([indicatorCode isEqualToString:@"EUR"])
formatString = @"€%@";
else if ([indicatorCode isEqualToString:@"n/a"])
return self;
else
{
NSAssert1(NO,@"Unhandled currency indicator %@",indicatorCode);
return [NSString stringWithFormat:@"%@ %@",self,indicatorCode];
}
return [prefix stringByAppendingString:[NSString stringWithFormat:formatString,number]];
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment