You can use locale parameter in NSNumberFormatter to convert NSDecimalNumber to correct string:
NSNumberFormatter *numberFormatter =[[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[numberFormatter setCurrencySymbol:@""];
[numberFormatter setLocale:[NSLocale currentLocale]];
If you want to convert it back you use locale parameter when you create NSDecimalNumber:
NSDecimalNumber *dNumber = [[NSDecimalNumber alloc] initWithString:numberString locale:[NSLocale currentLocale]];
Hope this is what you are after.