NSNumberFormatter* createCurrencyFormatter() {
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle: kCFNumberFormatterCurrencyStyle];
[formatter setCurrencySymbol: @""];
return formatter;
}
NSString* doubleToCurrencyString(double d) {
// convert the double to an NSNumber
NSNumber *number = [NSNumber numberWithDouble: d];
// create a number formatter object
NSNumberFormatter *formatter = createCurrencyFormatter();
// convert the number to a string
NSString *string = [formatter stringFromNumber: number];
// release just the formatter (the number and the string will be release in the autorelease pool)
[formatter release];
// return the string
return string;
}
double currencyStringToDouble(NSString *string) {
// if the string is nil, return zero
if (nil == string)
return 0.0;
// create a number formatter object
NSNumberFormatter *formatter = createCurrencyFormatter();
// convert the double to an NSNumber
NSNumber *number = [formatter numberFromString: string];
double d = [number doubleValue];
// release just the formatter (the number will be released in the autorelease pool)
[formatter release];
// return the string
return d;
}