iOS: muestra moneda sin centavos utilizando NSNumberFormatter

Soy capaz de convertir un NSNumber en moneda utilizando NSNUmberFormatter. Su showign $ symbol, numbers separados por "," etc.
Pero no quiero mostrar centavos.
Por ejemplo, muestra $ 537,335.32
Solo quiero mostrar $ 536,335
Estoy escribiendo el siguiente código:

NSNumberFormatter *currencyFormatter = [[[NSNumberFormatter alloc] init] autorelease]; [currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle]; NSDictionary* tempDict = [self.displayDict objectForKey:kConservative]; conservativeHP.text = [currencyFormatter stringFromNumber:[tempDict objectForKey:kHomePrice]]; 

¿Cómo debo crear NSNumberFormatter o hacer algo para que el resultado no tenga "decimales"

Antes de agregar el número al formateador, cámbielo a int para evitar los decimales, algo así:

 float myValue = 543.32; NSNumber myNumber = [NSNumber numberWithInt: (int)myValue)]; 

¡Se deshará de la parte decimal!

Utilice la configuration maximumFractionDigits:

 NSNumberFormatter *currencyFormatter = [[[NSNumberFormatter alloc] init] autorelease]; [currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle]; [currencyFormatter setMaximumFractionDigits:2]; 

Puede ajustar el valor en consecuencia. El uso de 2 limitará el resultado a dos dígitos, para esta pregunta un valor de 0 debería hacerlo.

Cuando vayas a mostrarlo hazlo

 Mylabel.text = @"%.2f", mynumberwithcents; 

Esto solo funciona si la variable mynumberwithcents es Float o Double …

 In case of using category: .h #import <Foundation/Foundation.h> @interface NSString (Price) + (NSString *)updateStringToPriceWithValue:(NSNumber *)value; @end .m #import "NSString+Price.h" @implementation NSString (Price) + (NSString *)updateStringToPriceWithValue:(NSNumber *)value { NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; [formatter setNumberStyle:NSNumberFormatterCurrencyStyle]; NSInteger minimumFractionDigits = [formatter minimumFractionDigits]; NSInteger maximumFractionDigits = [formatter maximumFractionDigits]; NSString *formatted = [formatter stringFromNumber:value]; NSLog(@"%@", formatted); [formatter setMinimumFractionDigits:minimumFractionDigits]; [formatter setMaximumFractionDigits:maximumFractionDigits]; return formatted; } 

Swift 3:

 currencyFormatter.maximumFractionDigits = 0