cocoa - significa - traducir al español
La forma más fácil de convertir un NSString a su equivalente en moneda en Cocoa (3)
La respuesta anterior convertirá un número, pero aquí hay un método para convertir realmente un NSString al formato de moneda.
- (NSString*) formatCurrencyWithString: (NSString *) string
{
// alloc formatter
NSNumberFormatter *currencyStyle = [[NSNumberFormatter alloc] init];
// set options.
[currencyStyle setFormatterBehavior:NSNumberFormatterBehavior10_4];
// reset style to no style for converting string to number.
[currencyStyle setNumberStyle:NSNumberFormatterNoStyle];
//create number from string
NSNumber * balance = [currencyStyle numberFromString:string];
//now set to currency format
[currencyStyle setNumberStyle:NSNumberFormatterCurrencyStyle];
// get formatted string
NSString* formatted = [currencyStyle stringFromNumber:balance];
//release
[currencyStyle release];
//return formatted string
return formatted;
}
Tengo un valor NSString de @ "78000". ¿Cómo obtengo esto en formato de moneda, es decir, $ 78,000 con lo que sigue siendo un NSString?
Necesitas usar un formateador de números. Tenga en cuenta que esta es también la forma en que mostraría las fechas / horas, etc. en el formato correcto para la configuración regional de los usuarios.
// alloc formatter
NSNumberFormatter *currencyStyle = [[NSNumberFormatter alloc] init];
// set options.
[currencyStyle setFormatterBehavior:NSNumberFormatterBehavior10_4];
[currencyStyle setNumberStyle:NSNumberFormatterCurrencyStyle];
NSNumber *amount = [NSNumber numberWithInteger:78000];
// get formatted string
NSString* formatted = [currencyStyle stringFromNumber:amount]
[currencyStyle release];
Los decimales / centavos al final se pueden controlar de la siguiente manera:
[currencyStyle setMaximumFractionDigits:0];
Aquí está el enlace de documentación de apple