Objective-C: How to format string as $ Price

currency, formatting, objective-c

Solution

Assuming you are using Cocoa (or just Foundation), you can use NSNumberFormatter and set its style to currency:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
... = [formatter stringFromNumber:number];

By default it uses the locale of your system, but you can change that and lots of other properties, see the NSNumberFormatter API docs.

Problem

Is their a built-in way of formatting string as $ price, e.g. `12345.45` converted to `$12,345.45`?

Original source