Tengo un analizador que devuelve un valor de cadena que me gustaría usar como parámetro para la inicialización de mi instancia de clase.Cadena para flotar en el objetivo c
tengo un método que pide dos NSString y un valor de coma flotante, pero no puede convertir la cadena a flotar, aquí está mi código:
NSString *from = [[NSString alloc] initWithString:@"EUR"];
NSString *to = [[NSString alloc] initWithString:[attributeDict objectForKey:@"currency"]];
NSNumber *rate = [[NSNumber alloc] initWithFloat:[[attributeDict objectForKey:@"rate"] doubleValue]];
currency = [[Currency init] alloc];
[currency addCurrencyWithFrom:from andTo:to andRate:rate];
en el .h
- (id) addCurrencyWithFrom: (NSString *) from_ andTo:(NSString *) to_ andRate:(float *) float_;
'pero no puede convertir la cadena en float' - ¿Quiere decir que aquí la cadena es NSString o una cadena de C? – Mahesh
Como nota al margen, si está utilizando un conversor de divisas, puede que le interese retirar: https://github.com/davedelong/DDUnitConverter Tiene un convertidor de divisas que extrae datos del FMI. –
Tenga en cuenta también que realmente querrá evitar flotadores al hacer cualquier cosa con la moneda. Los flotadores son notables en su capacidad para no poder representar o calcular con precisión valores relativamente pequeños. Los dobles son significativamente mejores. – bbum